启用禁用锚点,Jquery

发布于 2024-12-08 18:43:18 字数 666 浏览 0 评论 0原文

这是 html:

<ul>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>

</ul>

如果我单击第二个 li,它应该转到该链接,但如果我单击任何其他 li,则不会。我有这段代码,我想知道一种启用默认操作的方法。

 $(li[k]).click(function(){//increase the height});
 $(li[k]).find('a').click(function(e) {
    e.preventDefault();
    });

Here is the html:

<ul>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>
    <li><a href="http://xyz.com"><img src="./xyz.png"/></a></li>

</ul>

If I click the second li it should go to the link but not if I click any other li. I have this code, I want to know a way to enable the default action.

 $(li[k]).click(function(){//increase the height});
 $(li[k]).find('a').click(function(e) {
    e.preventDefault();
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

春花秋月 2024-12-15 18:43:18

我建议如下:

 $(li[k]).click(function(){//increase the height});
 $(li[k]).find('a').click(function(e) {
        if ($(this).parent().index() != 1){
            e.preventDefault();
        }
    });

其工作方式是,如果单击的 li 元素(基于其在其同级元素中的位置)的 index() 是不等于 1(JavaScript 数组从零开始,1 是数组中的第二个元素),e.preventDefault() 触发;否则(如果index()等于1)则允许默认操作。

I'd suggest something like the following:

 $(li[k]).click(function(){//increase the height});
 $(li[k]).find('a').click(function(e) {
        if ($(this).parent().index() != 1){
            e.preventDefault();
        }
    });

The way that this works is that if the index() of the clicked li element (based on its position among its siblings) is not equal to 1 (JavaScript arrays being zero-based, 1 is the second element in the array), the e.preventDefault() fires; otherwise (if the index() is equal to 1) the default action is permitted.

咆哮 2024-12-15 18:43:18

如果我理解正确的话,您想重新启用其中一个链接的默认行为吗?

您可以这样做:

$(li[k]).find('a').unbind("click");

这将从所选元素中删除单击处理程序,本质上将其返回到默认行为。

If I understand correctly, you want to re-enable the default behavior of one of the links?

You can do that like this:

$(li[k]).find('a').unbind("click");

This will remove the click handler from the selected element, essentially returning it to its default behavior.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文