it-swarm.com.ru

Добавление события 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, поэтому любая помощь очень ценится.

93
Claudio Delgado

Вы можете использовать событие 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/

167
hunter

попробуйте этот подход, если вы знаете имя клиента вашего объекта (не важно, что это Button или TextBox)

$('#ButtonName').removeAttr('onclick');
$('#ButtonName').attr('onClick', 'FunctionName(this);');

попробуйте это, если вы хотите добавить событие onClick к объекту сервера с JQuery

$('#' + '<%= ButtonName.ClientID %>').removeAttr('onclick');
$('#' + '<%= ButtonName.ClientID %>').attr('onClick', 'FunctionName(this);');
21
Ardalan Shahgholi

Попробуйте ниже подход,

$('#bfCaptchaEntry').on('click', myfunction);

или в случае, если jQuery не является абсолютной необходимостью, попробуйте ниже,

document.getElementById('bfCaptchaEntry').onclick = myfunction;

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

Подробнее об этом посте https://stackoverflow.com/a/6348597/297641

16
Selvakumar Arumugam
$("#bfCaptchaEntry").click(function(){
    myFunction();
});
7
Parv Sharma

Или вы можете использовать функцию стрелки, чтобы определить это:

$(document).ready(() => {
  $('#bfCaptchaEntry').click(()=>{

  });
});

Для лучшей поддержки браузера:

$(document).ready(function() {
  $('#bfCaptchaEntry').click(()=>{

  });
});
0
Gabriel Jaime Sierra Rua