如何选择通过ajax引入的元素

时间:2013-05-07 22:06:50

标签: jquery

我有一个联系表单,提交时将通过ajax处理。然后当发送消息时,ajax回调函数将带来一个新文件,感谢-ph.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或动态引入的元素?

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

使用.delegate()

来自jQuery doc

  

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

希望这有帮助!