jQuery Nesting Events - PullRequest
       13

jQuery Nesting Events

0 голосов
/ 04 октября 2009

Иногда в моих скриптах jQuery они не работают, пока я не вложу события. Например ...

$(selector).click(function(){
    //do something such as create an element
    $(selector).click(function(){
        //do something with the created element
    });
});

Это нормально? Я всегда старался избегать этого, потому что это не совсем правильно. Однако иногда это просто не работает, поэтому я должен.

Ответы [ 2 ]

1 голос
/ 04 октября 2009

Единственный случай, когда вы должны вкладывать, - это если вы переназначаете поведение щелчка после первоначального щелчка. Я не уверен, что вы ищете цепочку, например

$('el')
.click(function(){})
.hover(function(){})

Это полностью зависит от того, что вы делаете.

0 голосов
/ 04 октября 2009

Если вы хотите применить какие-либо события к элементу, вы должны сделать это после того, как элементы были созданы.

Оператор jQuery, который естественным образом устанавливает событие для элементов, может устанавливать его только для элементов, которые существуют в то время. Любой элемент, который вы создаете после оператора, волшебным образом не получит события, которые вы установили для элементов ранее.

Итак, если вы создаете элемент в событии и хотите назначить ему событие, вы должны сделать это также в событии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...