Yat*_*rix 0 .net javascript jquery events
我正在尝试使用JQuery的on()函数将事件附加到按钮以及稍后将动态创建和注入的任何按钮.但是,当我运行测试网站时,它会调用alertMe()而不单击按钮.alertMe在.js文件中,当然,我有JQuery文件.这是一个简单的示例,我可以创建 - 我在这里错过了一些东西与JQuery附加此事件?
<body>
<script src="Scripts/JScript.js" type="text/javascript"></script>
<script src="Scripts/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('button').on("click", alertMe());
});
</script>
<form id="form1" runat="server">
<div id="1">
<button data-attr="1">
Say Sumfin'</button>
</div>
</form>
</body>
Run Code Online (Sandbox Code Playgroud)
data-attr 只是一个自定义属性,我将用它来识别我将附加的按钮.
所以提出这个问题的原因仍然很明显,我已经按原样离开了.但这是我过去实际上正确附加到动态添加元素的事件.
$(document).on('click', '[data-attr]', alertMe);
Run Code Online (Sandbox Code Playgroud)
这个:
$( 'button' ).on( 'click', alertMe );
Run Code Online (Sandbox Code Playgroud)
该.on()方法需要一个函数引用作为其第二个参数.注意区别:
alertMe // function reference
alertMe() // function invocation
Run Code Online (Sandbox Code Playgroud)