Возник вопрос который не знаю как загуглить
Подскажите...
Если через CHtml создавать например CHtml::ajaxLink то yii по умолчанию вешает делегированный обработчик событий на элемент body
$('body').on('click','#yt1' ... и т.д.
Что создаёт определённые трудности при контроле всплытия события по DOM дереву.
Как сделать так чтобы обработчик вешался напрямую на конкретный элемент, а не на body?
Прямая vs делегированная обработка javaScript событий
Re: Прямая vs делегированная обработка javaScript событий
Написать свою реализацию CHtml::ajaxLink или отказаться от него вовсе.
Re: Прямая vs делегированная обработка javaScript событий
Звучит плохо...
Если быть точнее, то я использую
$this->widget('bootstrap.widgets.BootButton' ...
Может там возможно?
Если быть точнее, то я использую
$this->widget('bootstrap.widgets.BootButton' ...
Может там возможно?
- nizsheanez
- Сообщения: 814
- Зарегистрирован: 2011.04.29, 13:09
- Откуда: Москва
Re: Прямая vs делегированная обработка javaScript событий
Посмотреть внутрь CHtml не пробовали?
Код: Выделить всё
if($live)
$cs->registerScript('Yii.CHtml.#' . $id, "$('body').on('$event','#$id',function(){{$handler}});");
else
$cs->registerScript('Yii.CHtml.#' . $id, "$('#$id').on('$event', function(){{$handler}});");