1

我有一个联系表格,提交时将通过 ajax 处理。然后,当发送消息时,ajax 回调函数将带来一个新文件,thank-you.php,代替表单,在表单之前的同一个 div 中。

感谢文件还将包含对任何未正确完成的字段属性的验证(服务器端验证)。问题是如果有任何验证错误,我希望访问者点击返回表单,所以我有一个链接

<a id="contact_back" href="#">Go back to contact form</a>

我想使用哪个 onclick 来恢复表单。但我无法选择它。我已经尝试过 live() 但这没有用,而且我也不想使用它。我更愿意使用 on() API。

$("#contact_back").on("click", function(){
    alert('works');
});

但这仍然无法被选中。那么如何选择通过 ajax 或动态引入的元素呢?

4

3 回答 3

2

如果 DOM 中不存在该对象,则需要委托该事件:

$("body").on("click", "#contact_back", function(){
    alert('works');
});
于 2013-05-07T22:09:46.933 回答
0

使用事件委托- 对于动态创建的元素

$(document).on("click","#contact_back", function(){
    alert('works');
});

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

于 2013-05-07T22:09:56.023 回答
0

使用.delegate()

来自jQuery 文档

根据一组特定的根元素,将处理程序附加到与选择器匹配的所有元素的一个或多个事件,现在或将来。

希望这可以帮助!

于 2013-05-07T22:09:58.790 回答