JQuery / Javascript различные варианты поведения с щелчком пользователя и программно установите флажок - PullRequest
3 голосов
/ 13 декабря 2010

Немного сложно объяснить, поэтому я настроил jsFiddle здесь .

По сути, у меня возникает некоторое поведение, когда пользователь нажимает флажок.В другом месте я пытаюсь программно установить флажок, и мне нужно увидеть точно такое же поведение.Это не работает, похоже, что-то связано с порядком щелчка и определением отмеченного атрибута.

Как получить искомое поведение, не прибегая к хаку?

Ответы [ 3 ]

2 голосов
/ 13 декабря 2010

Вместо этого я обычно использую обработчик change (поскольку jQuery нормализует поведение, для него не требуется blur), а затем запускаем это событие следующим образом:

$('span').click(function() { $('.test').click().change(); });

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

1 голос
/ 13 декабря 2010

Вам не нужно помещать JavaScript для этого поведения ... просто используйте этот синтаксис html:

<input type="checkbox" id="myid" />&nbsp;<label for="myid">My Label</label>

Если вы хотите добавить списки JavaScript, вы можете добавить изменения или щелкнуть в поле ввода.

:)

ИЛИ вы должны сделать это с помощью jquery:

$('span').click(function() { $('.test').trigger('click'); });
0 голосов
/ 10 февраля 2011

У меня была та же проблема, и я исправил ее, вызвав функцию щелчка javascript вместо jQuery, например:

$('.test')[0].click();
...