вручную запустить клик текстового поля, переданного в параметр - PullRequest
0 голосов
/ 28 марта 2011

У меня есть функция, которая будет изменять значение текстового поля при использовании ползунка.Ему передается переменная события, которая имеет текстовое поле для обновления в качестве значения:

function updateTextBox(e){
  $(e.data.textbox).val($(this).slider('option','value')); //this line works great
  $(e.data.textbox).change(); //this line works fine in Chrome, but not IE.
}

Чтобы связать передаваемую мной функцию (упрощенно):

slinder.bind('slide', {textbox : '#idOftextbox'}, updateTextBox);

IE автоматически выполняетизменить событие только первой строкой, но затем выдает ошибку во второй строке «Объект не поддерживает этот объект или метод».Однако Chrome не запускает событие change автоматически, устанавливая значение, поэтому ему нужна вторая строка.Любые идеи, как мне обойти это, не прибегая к обнаружению агента пользователя.

alert (e.data.textbox.change);// дает определение функции во всех браузерах, но не любит добавление скобок.

Я даже попробовал eval (e.data.textbox.change) без удачи ...

Просто на заметку.Я доволен тем, как работает мой слайдер, и поэтому не собираюсь его заменять.Как событие «всплывает» в текстовое поле.

1 Ответ

0 голосов
/ 28 марта 2011

Это было потому, что у меня было два события, связанные с ползунком, которые я исключил из вопроса, так как думал, что это не имеет значения.

slider.bind ( 'слайд', .... slider.bind ( 'slidechange', ...

Не уверен, почему ошибка исчезла, когда я избавился от строки e.textbox.change (), но решил ее, удалив второго слушателя

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