使用jQuerydynamic添加onClick事件

由于使用了插件,我不能像往常一样将“onClick”属性添加到HTML表单input中。 一个插件正在处理我的网站中的表格部分,并没有给出一个选项来自动执行此操作。

基本上我有这个input:

<input type="text" id="bfCaptchaEntry" name="bfCaptchaEntry" style=""> 

我想添加一个onClick到它与jQuery的onload它是这样的:

 <input onClick="myfunction()" type="text" id="bfCaptchaEntry" name="bfCaptchaEntry" style=""> 

我怎么去做这个?

我知道这可能不是标准的做法,但似乎是在我的情况下最简单的select。

我是jQuery的新手,所以任何帮助,非常感激。

您可以使用click事件并调用您的函数或将您的逻辑移入处理程序:

 $("#bfCaptchaEntry").click(function(){ myFunction(); }); 

您可以使用click事件并将您的函数设置为处理程序:

 $("#bfCaptchaEntry").click(myFunction); 

。点击()

将事件处理程序绑定到“click”JavaScript事件,或者在元素上触发该事件。

http://api.jquery.com/click/


你可以使用绑定的"click" on事件来调用你的函数或者把你的逻辑移到处理程序中:

 $("#bfCaptchaEntry").on("click", function(){ myFunction(); }); 

你可以使用绑定的"click" on事件作为处理器:

 $("#bfCaptchaEntry").on("click", myFunction); 

。上()

将一个或多个事件的事件处理函数附加到所选元素。

http://api.jquery.com/on/

尝试下面的方法,

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

或者如果jQuery不是绝对的必需品,那么请在下面尝试,

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

然而,上述方法有一些缺点,因为它设置onclick作为一个属性,而不是注册为处理程序…

阅读更多关于这个职位https://stackoverflow.com/a/6348597/297641

如果你知道你的对象的客户端名称(这是不重要的,它是button或文本框)

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

如果要使用JQuery将onClick事件添加到服务器对象,请尝试使用此方法

 $('#' + '<%= ButtonName.ClientID %>').removeAttr('onclick'); $('#' + '<%= ButtonName.ClientID %>').attr('onClick', 'FunctionName(this);'); 
 $("#bfCaptchaEntry").click(function(){ myFunction(); }); 

或者你可以使用箭头函数来定义它:

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