gpt4 book ai didi

javascript - 如何从父元素触发href点击事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:58:54 25 4
gpt4 key购买 nike

使用下面的代码,我试图从父 li 标签中点击 a 标签点击事件。但它给了我这个错误:

我为什么要这样做:

当我单击 PHP PDO 链接时,我们需要将光标移动到该文本而不是 li 标记。我正在尝试使用它来修复它。但我知道我们可以通过获取 a href 属性并将其设置到 窗口中,从 li 单击事件中调用 href。位置.href。但是当我点击 li 标签时,仍然试图触发 a href click 事件。

HTML

<li class="tags" style="cursor: pointer;">
<a class="link_em" href="?l=1" id="1">List1</a>
</li>

Jquery:

$('li.tags').on('click', function (e) {
$(this).children('a').click();
return false;
});

错误:

我在使用上面的代码时遇到了这个错误。

 Uncaught RangeError: Maximum call stack size exceeded

用户界面:

enter image description here

https://jsfiddle.net/k92dep45/

已编辑:

I done this ugly thing, but I am still looking proper solution:

$('li.tags a').on('click', function (e) {
e.stopPropagation();
});
$('li.tags').on('click', function (e) {
window.location.href = $(this).children('a.link_em').attr('href');
e.preventDefault();
});

最佳答案

以上代码可以使用以下版本

$('li.tags').on('click', 'a', function (e) {
// Do your stuff.
e.preventDefault();
window.location.href= thishref;
});

这里的第二个参数是jQuery点击事件中的 child 'a'。

问题是您不断调用导致 超出最大调用堆栈大小 的相同元素。

看下面的例子。

function foo(){
foo();
}

foo();

在上面的代码中,我们一次又一次地调用foo(),它也会产生相同的结果。

关于javascript - 如何从父元素触发href点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46388704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com