Динамическое добавление события onClick с помощью jQuery
из-за используемого плагина я не могу добавить атрибут "onClick" к входам HTML-формы, как обычно. Плагин обрабатывает часть форм на моем сайте, и он не дает возможности сделать это автоматически.
в основном у меня есть этот вход:
<input type="text" id="bfCaptchaEntry" name="bfCaptchaEntry" style="">
Я хочу добавить onClick к нему с помощью jQuery onload, чтобы он был таким:
<input onClick="myfunction()" type="text" id="bfCaptchaEntry" name="bfCaptchaEntry" style="">
Как мне это сделать?
Я знаю, что это не стандартная практика, но похоже самый простой вариант сделать в моей ситуации.
Я новичок в jQuery, поэтому любая помощь очень высоко ценится.
5 ответов:
можно использовать
click
событие и вызов функции или переместить логику в обработчик:$("#bfCaptchaEntry").click(function(){ myFunction(); });
можно использовать
click
событие и установить функцию в качестве обработчика:$("#bfCaptchaEntry").click(myFunction);
.нажмите ()
привязать обработчик событий к событию JavaScript" click " или вызвать это событие на элементе.
вы можно использовать
on
событие привязано к"click"
и вызовите свою функцию или переместите свою логику в обработчик:$("#bfCaptchaEntry").on("click", function(){ myFunction(); });
можно использовать
on
событие привязано к"click"
и установите свою функцию в качестве обработчика:$("#bfCaptchaEntry").on("click", myFunction);
.on ()
прикрепить функцию обработчика событий для одного или нескольких событий отдельные элементы.
попробуйте этот подход, если вы знаете имя клиента объекта (не важно, что это кнопка или текстовое поле)
$('#ButtonName').removeAttr('onclick'); $('#ButtonName').attr('onClick', 'FunctionName(this);');
попробуйте это, если вы хотите добавить событие onClick в объект сервера с помощью JQuery
$('#' + '<%= ButtonName.ClientID %>').removeAttr('onclick'); $('#' + '<%= ButtonName.ClientID %>').attr('onClick', 'FunctionName(this);');
попробуйте ниже подход,
$('#bfCaptchaEntry').on('click', myfunction);
или в случае, если jQuery не является абсолютной необходимостью, попробуйте ниже,
document.getElementById('bfCaptchaEntry').onclick = myfunction;
однако вышеуказанный метод имеет несколько недостатков, поскольку он устанавливает onclick как свойство, а не регистрируется как обработчик...
подробнее об этом посте https://stackoverflow.com/a/6348597/297641