JQuery 在 <a> 标签内单击不起作用

JQuery click inside <a> tag not working

本文关键字:不起作用 单击 标签 JQuery      更新时间:2023-09-26

我的HTML代码是

<a href='someValidLink' class="link">
    <img src='imageUrl'/>
</a>

而 js 脚本是

$('.link').click(function(e) {
    console.log("log something");
    return false;
});

现在单击图像不应该将我重定向到新页面,但不知何故它是

到目前为止,我已经尝试在 img 标签中放置相同的类,使用 id 而不是类,e.preventDefault 而不是只返回 false 等......

但是,如果我删除 img 节点并放置一些文本,那么它就可以正常工作,但是该怎么做才能防止图像链接重定向

如果 HTML 是动态创建的,则不能使用标准的静态绑定,该绑定仅适用于存在的元素,并且可以在 DOM ready 中选择。

$(document).ready(function() {
    $(document).on("click", ".link", function(e) {
        console.log("log something");
        return false;
    });
}

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

jQuery的"on"是处理这个问题的首选方式。

我猜锚点正在动态加载。

尝试使用以下方法:

$(document).on("click", ".link", function(){
    console.log("log something");
    return false;
});
这将在单击时查找您的"链接"类,

而不是"链接"类最初加载页面时指向的位置。 避免使用"实时"侦听器代替"打开"侦听器。 它已被弃用,根据您使用的jQuery版本,它甚至可能不可用。

代码似乎很好。您确定在页面中加载元素之前未执行此代码吗?尝试将其添加到$(document).ready回调中:

$(document).ready(function() {
    $('.link').click(function(e) {
        console.log("log something");
        return false;
    });
}

发现问题,a-Tag 是动态创建的,所以猜猜我将不得不使用与简单点击功能不同的东西