在使用ajax添加的元素上使用javascript调用click
我想通过编程方式单击通过AJAX添加的元素。 这怎么可能?这是一种特殊情况,因为元素不是通过AJAX注入而添加到的在使用ajax添加的元素上使用javascript调用click,javascript,ajax,dom,Javascript,Ajax,Dom,我想通过编程方式单击通过AJAX添加的元素。 这怎么可能?这是一种特殊情况,因为元素不是通过AJAX注入而添加到的 有没有合适的方法来实现这一点?是的,这是可能的,您可以通过以下步骤来实现: 通过事件委派将事件附加到AJAX添加的元素: $(“#包装器”)。在('click','element',function()上{ //在此处添加您的功能 }); 以编程方式触发单击: $('.element')。触发器('click') 单击现在可以工作了,因为您在第一步通过事件委派附加它。祝你好运 这样
有没有合适的方法来实现这一点?是的,这是可能的,您可以通过以下步骤来实现:
事件委派将事件附加到AJAX添加的元素:
$(“#包装器”)。在('click','element',function()上{
//在此处添加您的功能
});代码>
$('.element')。触发器('click')代码>
事件委派
附加它。祝你好运 这样做
jquery:
$('#parent').on('click','#element',function(){
alert('clicked');
});
javascript:
document.getElementById("parent").addEventListener("click", function(e) {
if(e.target && e.target.id== "element") {
alert('clicked');
}
});
了解有关事件委派的更多信息
注意
#element
是元素的id,您可以使用ajax未添加的最近标记来更改#parent
,您是否使用jQuery???@Burki-这与askedOkay的作用相反,因此您需要研究:1。在DOM中查找元素,以及2。以编程方式单击它。这方面的内容覆盖得非常好,您发现了什么,您是如何尝试使用它的?由Ajax添加不会有什么不同。如果它在DOM中,那么它就在DOM中,并且在此之前您(可能)没有尝试访问它。您需要提供一个合适的测试用例:@Burki:OP想要点击,而不是响应。(没有迹象表明他们正在使用jQuery。)这将侦听事件。它不会触发它:-)然后执行document.getElementById(“元素”)。单击()
如果元素不是通过ajax添加的,它将工作。