Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用ajax添加的元素上使用javascript调用click_Javascript_Ajax_Dom - Fatal编程技术网

在使用ajax添加的元素上使用javascript调用click

在使用ajax添加的元素上使用javascript调用click,javascript,ajax,dom,Javascript,Ajax,Dom,我想通过编程方式单击通过AJAX添加的元素。 这怎么可能?这是一种特殊情况,因为元素不是通过AJAX注入而添加到的 有没有合适的方法来实现这一点?是的,这是可能的,您可以通过以下步骤来实现: 通过事件委派将事件附加到AJAX添加的元素: $(“#包装器”)。在('click','element',function()上{ //在此处添加您的功能 }); 以编程方式触发单击: $('.element')。触发器('click') 单击现在可以工作了,因为您在第一步通过事件委派附加它。祝你好运 这样

我想通过编程方式单击通过AJAX添加的元素。 这怎么可能?这是一种特殊情况,因为元素不是通过AJAX注入而添加到的


有没有合适的方法来实现这一点?

是的,这是可能的,您可以通过以下步骤来实现:

  • 通过
    事件委派将事件附加到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添加的,它将工作。