Функция привязки jquery имеет различную последовательность выполнения между Firefox и Chrome - PullRequest
4 голосов
/ 23 декабря 2011

как в примере: http://jsfiddle.net/nicaia/6cHxR/

код js:

$('#checkbox_id').bind('change',function({
    alert('change');
}).bind('click',function(event){
    alert('click');event.preventDefault();
});

в Chrome установите флажок:

предупреждение «изменить» ипредупреждение «нажмите», и флажок не будет установлен (сначала флажок снят).

и в Firefox нажмите флажок, чтобы показать это: предупреждение «нажмите», и флажок не будет установлен. (сначала флажок снят.)

изменение не будет запущено в Firefox.Я не знаю, почему. Кто-то может сказать мне?

спасибо.

1 Ответ

0 голосов
/ 23 декабря 2011

Я думаю, что Chrome отличается от других браузеров.Я попробовал этот код:

$('#checkbox_id').bind('change',function(){
    alert('change');
}).bind('click',function(event){
    alert('click');
});

(скрипка здесь: http://jsfiddle.net/6cHxR/8/), и Firefox выполняет обработчик щелчков перед обработчиком изменений, в то время как IE и chrome исполняют обработчик изменений перед обработчиком щелчков.не думаю, что с этим можно многое сделать

...