Работает ли jQuery Live на Safari? - PullRequest
       13

Работает ли jQuery Live на Safari?

2 голосов
/ 26 октября 2009

Я только что задал этот вопрос час назад , но что касается IE8, и мне сказали, что обработчики JQuery Live не поддерживают "изменение", поэтому я переключился на "щелчок", это решило мою проблему проблема, и теперь я нахожу, что Safari не работает с щелчком по какой-то странной причине, кто-нибудь знает почему?

Итак, я подумал, могу ли я иметь оба?

$('select.htt, select.hst').live('click', function() {
    var channels = parseInt($('#fancy_div select.hst').val(), 10) * parseInt($('#fancy_div select.htt').val(), 10);         
    $('#fancy_div span.yellow2').html(channels + ' Channels');
});

И изменить (что работает на сафари)

$('select.htt, select.hst').live('change', function() {
    var channels = parseInt($('#fancy_div select.hst').val(), 10) * parseInt($('#fancy_div select.htt').val(), 10);         
    $('#fancy_div span.yellow2').html(channels + ' Channels');
});

Или есть что-то более элегантное?

EDIT

Может быть, я могу сделать условное. if ($.browser.msie Но как бы я сделал это с вышеупомянутым, выше также в $(document).ready(function()

Ответы [ 4 ]

4 голосов
/ 26 октября 2009

Попробуйте это:

$('select.htt, select.hst').live($.browser.msie?'click':'change', function() { ....
3 голосов
/ 26 октября 2009

Похоже, вы столкнулись с рядом проблем:

  1. Событие change не всплывает в IE , а событие click -
  2. Событие click не запускается / не отображается на элементах <select> / <option> в Safari , а событие change -

Я не уверен, что лучший путь для вашей ситуации вперед.

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

Событие изменения не должно появляться в ЛЮБОМ браузере.

Я бы просто сделал так, чтобы ваш код повторно связывал обработчик изменений всякий раз, когда меню добавляется в DOM, или, возможно, даже добавлял бы атрибут onchange в select, если он генерируется серверным скриптом.

0 голосов
/ 17 июля 2014

Чтение через список ошибок (http://bugs.jquery.com/ticket/5677) добавление следующего элемента CSS к элементу также является решением:

<style>
  element {
      cursor : pointer;
  }
</style>

Работает на iphone4 с сафари

Ссылка

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