Jquery .select () с .live () - PullRequest
       22

Jquery .select () с .live ()

1 голос
/ 01 июня 2011

Как сделать этот триггер, когда я выбираю текст на входе?

Это должно быть вживую / делегировать

$('input:text').live('select', function () {
    alert("selected");
});

Обновлено для ввода: текст по многочисленным просьбам. Я все еще не получаю сообщение с предупреждением при выборе текста в полях ввода. Пример на http://api.jquery.com/select/ дает мне желаемый результат. Мне просто нужно, чтобы он работал на .live ()

Ответы [ 2 ]

3 голосов
/ 01 июня 2011

Вы неправильно выбираете все входы. Вы должны использовать $('input'), если это то, что вы хотите сделать.

Или даже лучше, поскольку только текстовые вводы могут иметь выделенный текст, попробуйте $('input:text')

Я думаю, что проблема заключается в этой цитате из .live() документации:

Методы обхода DOM не являются поддерживается для поиска элементов для отправки в .live ().

Когда вы используете только псевдокласс, jQuery добавляет селектор Всего (*), например $('*:input'), который может не передать делегирование в зависимости от метода, который он использует для заполнения массива результатов. Просто выстрел в темноте, но лучшее, что я могу сделать, не зная больше о том, что происходит не так.

2 голосов
/ 01 июня 2011

Ваш код отлично работает для меня здесь (jsFiddle) в Opera, FF, Safari и Chrome.Однако IE8, похоже, не нравится.

Я подумал, может быть, это потому, что .live() связывает обработчик событий с document, и, возможно, IE не имеет события onselect надокумента, поэтому я попытался ограничить область его действия body и даже элементом wrapper , но безуспешно.

Это может быть ошибкой в ​​jQuery.

...