gpt4 book ai didi

javascript - jQuery 无法将事件处理程序附加到 .load 创建的

转载 作者:行者123 更新时间:2023-11-29 18:24:36 25 4
gpt4 key购买 nike

第一次提问...我页面上的这个链接

<a onclick="$('#mainbody').load('pages/login.php', tester());">Login</a>

生成这个表单

<form id="form">
<b>Email Address:</b> <input type="email" name="usrEmail" placeholder="email address" required><br />
<b>Password:</b> <input type="password" name="usrPass" placeholder="password" required><br />
<input type="submit" value="Log in">
</form>

我的 .js 包含这个;

function tester(){
$("#form").submit(function() {
alert('Handler called.');
return false;
});
}

...提交表单时没有任何反应。但是,如果我将链接更改为

<a onclick="$('#mainbody').load('pages/login.php', function(){$( '#form' ).submit(function() { alert('Handler called.'); return false;});});">Login</a>

...这非常有效。从功能上讲,我看不出调用命名函数或在回调本身中定义有什么区别,但显然浏览器可以!我究竟做错了什么?是语法吗?定时?或者 - 我仍在寻找使用 jQuery 的方式 - 是因为即使我调用了一个引用 #form AFTER 存在的事件处理程序,但函数首先创建的事实忽略了它?

最佳答案

您将调用 tester 函数的结果绑定(bind)为 .load 的回调(什么都没有)。改为这样做:

$("#mainbody").load('pages/login.php', tester);

即使用函数name作为回调。

关于javascript - jQuery 无法将事件处理程序附加到 .load 创建的 <form>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14823448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com