目标下的JS事件查找元素

时间:2016-07-17 22:16:02

标签: javascript html ajax hyperlink

您好我最近决定将我的ajax调用从html元素移动到我的外部javaScript文件中。它通过在客户端点击页面时执行的函数来工作。该函数确定在页面上单击了哪个元素,并在元素是链接('a')时继续获取href属性。这非常有效,除非链接顶部有另一个元素。例如:

<a id="home" href="./"><div id="homeicon"></div></a>

所以我想知道如何让js检测它所点击的所有元素(整个元素堆栈),然后获得堆栈中最高的链接元素('a')。但是这里是没有click eventListener的当前函数。

function linkHandler(e) {
    var e = window.e || e;

    // Makes sure the element clicked is a link
    if(e.target.tagName !== 'A' || useAjax == false){
        return false; // Exits if element isn't a link
    }

    // Makes sure to not use ajax when the middle mouse button and right is clicked
    if(e.button == 1 || e.button == 2){
        return false; // Exit the click wasn't left click
    }


    // Prevent regular page request
    e.preventDefault(); // Disables the default behaviour request behaviour


    // AJAX CALL


}

另一种方法是将eventListener设置为显然有一个循环的每个该死的链接元素,然后运行一个函数,在每次调用ajax后刷新eventListeners。

我只是要说我不会使用任何类型的框架,但jquery答案可能对有类似问题的人有所帮助。

老实说,我很遗憾,并希望得到一些关于这个主题的帮助,谢谢。

0 个答案:

没有答案