Добавление события 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, поэтому любая помощь очень ценится.
Ответы
Ответ 1
Вы можете использовать событие click
и вызвать свою функцию или переместить логику в обработчик:
$("#bfCaptchaEntry").click(function(){ myFunction(); });
Вы можете использовать событие click
и назначить функцию в качестве обработчика:
$("#bfCaptchaEntry").click(myFunction);
.click()
Привязать обработчик события к событию JavaScript "click" или вызвать это событие для элемента.
http://api.jquery.com/click/
Вы можете использовать событие on
, связанное с "click"
, и вызвать вашу функцию или переместить вашу логику в обработчик:
$("#bfCaptchaEntry").on("click", function(){ myFunction(); });
Вы можете использовать событие on
, привязанное к "click"
, и установить вашу функцию как обработчик:
$("#bfCaptchaEntry").on("click", myFunction);
.on()
Прикрепите функцию обработчика событий для одного или нескольких событий к выбранных элементов.
http://api.jquery.com/on/
Ответ 2
Попробуйте приблизительный подход,
$('#bfCaptchaEntry').on('click', myfunction);
или в случае, если jQuery не является абсолютной необходимостью, попробуйте ниже,
document.getElementById('bfCaptchaEntry').onclick = myfunction;
Однако вышеупомянутый метод имеет несколько недостатков, поскольку он устанавливает onclick как свойство, а не регистрируется как обработчик...
Подробнее об этом сообщении fooobar.com/questions/11898/...
Ответ 3
попробуйте этот подход, если вы знаете свое имя клиента объекта (не важно, что это Button или TextBox)
$('#ButtonName').removeAttr('onclick');
$('#ButtonName').attr('onClick', 'FunctionName(this);');
попробуйте это, если вы хотите добавить событие onClick к серверному объекту с помощью JQuery
$('#' + '<%= ButtonName.ClientID %>').removeAttr('onclick');
$('#' + '<%= ButtonName.ClientID %>').attr('onClick', 'FunctionName(this);');
Ответ 4
$("#bfCaptchaEntry").click(function(){
myFunction();
});
Ответ 5
Или вы можете использовать функцию стрелки для ее определения:
$(document).ready(() => {
$('#bfCaptchaEntry').click(()=>{
});
});
Для лучшей поддержки браузера:
$(document).ready(function() {
$('#bfCaptchaEntry').click(()=>{
});
});