Вопрос

Я знаю, что лучше избегать встроенного JavaScript, например:

<img id="the_image" onclick="do_this(true);return false;"/>

Я подумываю о переключении такого рода вещей для связанных событий щелчка jquery, например:

$("#the_image").bind("click",function(){
     do_this(true);
     return false;
});

Потеряю ли я производительность, если привяжу массу событий кликов?Меня беспокоит не время, необходимое для первоначальной привязки событий, а время отклика между щелчком мыши и его возникновением.

Могу поспорить, что если разница и есть, то она незначительна, но у меня будет куча связанных функций.Мне интересно, обрабатывают ли браузеры атрибут onclick так же, как связанное событие.

Спасибо

Это было полезно?

Решение

Избавьте себя от беспокойства, используйте событие on

$("#the_image").on("click",function(){
     do_this(true);
     return false;
});

Одно событие без снижения производительности при использовании нескольких элементов.

Другие советы

В моей работе это зависело.Я перенес все свои события в jquery.Затем я профилировал JavaScript с помощью FireBug, чтобы увидеть, что занимает больше всего времени.Затем я оптимизировал те, которые занимали больше всего времени.

Если их всего несколько, вы не заметите никакой деградации.Если их сотни или тысячи, то можно.

Разница незначительна.Если вам приходится привязываться ко многим элементам на странице, это может привести к снижению производительности, и вы можете захотеть привязаться к объекту более высокого уровня и просто перехватить целевой элемент (изображение), где вы привязываете щелчок к содержащему его DIV. ярлык.В остальном все должно быть хорошо и будет зависеть конкретно от вашего варианта использования.

Для получения более подробной информации изучите всплытие событий в JavaScript.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top