Плюсы и минусы производительности для trigger.click vs .prop («проверено», true)

0

У меня есть простая кнопка сброса, которая должна проверять переключатель. Интересно, какой из них лучше всего подходит:

$("#styleWidthWide").trigger('click');

или

$("#styleWidthWide").prop('checked', true);

Большое спасибо за понимание.

  • 0
    В вашем контексте, щелчок триггера в переключателе переключит значение, когда prop ('флажок', true) установит истинное значение. В этом случае эта линия несопоставима.
Теги:
select
click
triggers

2 ответа

0
Лучший ответ

Они совершенно разные, поэтому вопросы производительности спорны.

.trigger() будет эмулировать щелчок по элементу и вызывать любые обработчики jQuery на нем или любого из его предков (если только распространение не прекращено).

Учитывая ваш пример, вы переключаете значение, если нет обработчика, который его переопределяет.


.prop() просто устанавливает свойство. В вашем примере вы устанавливаете значение true вместо переключения.


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

document.getElementById("styleWidthWide").checked = true;

Это будет намного быстрее, чем решение jQuery. Однако это, вероятно, не будет заметной разницей. Все зависит от остальной части кода.

http://jsperf.com/trigger-vs-prop/2

  • 0
    Очень тщательно, большое спасибо.
  • 0
    Пожалуйста.
1

Вы можете использовать jsperf для такого теста: http://jsperf.com/trigger-vs-prop

В моем браузере (Firefox 28) версия trigger() 95% медленнее версии prop()

  • 0
    Не знал о jsperf ... спасибо, что поделился о таком актуальном и полезном ресурсе.
  • 0
    Нет проблем;) Я обнаружил это всего за несколько месяцев, и я нахожу это чрезвычайно полезным.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню