使用 jQuery 动态添加 onClick 事件

2022-08-30 02:35:42

由于使用了插件,我无法像往常一样将“onClick”属性添加到HTML表单输入中。插件正在处理我的网站中的表单部分,它没有提供自动执行此操作的选项。

基本上我有这个输入:

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

我想用jQuery onload添加一个onClick,让它像这样:

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

我该怎么做?

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

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


答案 1

您可以使用该事件并调用函数或将逻辑移动到处理程序中:click

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

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

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

.click()

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

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

如果您知道对象客户端名称,请尝试此方法(按钮或文本框并不重要)

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

如果你想用JQuery将onClick事件添加到服务器对象,请尝试这个

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