选择没有具体内容的Div

发布于 2024-10-24 10:30:24 字数 1014 浏览 1 评论 0原文

问:

我有以下情况:

Div 包含一个链接,我想只选择没有链接的 div,我的意思是,当单击 div 时我想要的特定操作与单击链接不同。通过一些 JQuery。

我工作的结构是:(by firebug)

sql ;

JQuery 代码:

    $(document).ready(function() {


    $(".rsAptContent").click(function(e) {
            ShowDialog(true);
            e.preventDefault();
        });

    });

    function ShowDialog(modal) {
        $("#overlay").show();
        $("#dialog").fadeIn(300);

        if (modal) {
            $("#overlay").unbind("click");
        }
        else {
            $("#overlay").click(function(e) {
                HideDialog();
            });
        }
    }

    function HideDialog() {
        $("#overlay").hide();
        $("#dialog").fadeOut(300);
    } 

</script>`

当我点击链接时,我不想执行 Jquery 代码,如何选择 div没有链接。

提前致谢

Q:

I have the following case :

Div contains a link , i wanna to just select the div without the link,i mean ,when clicking on the div i wanna specific action differs from clicking the link.through some JQuery.

the structure i work on is:(by firebug)

<div class ="rsAptContent">
sql
<a class = "rsAptDelete" href = "#" style ="visibility: hidden;">Delete</a>
</div>

the JQuery code:

<script type="text/javascript">

    $(document).ready(function() {


    $(".rsAptContent").click(function(e) {
            ShowDialog(true);
            e.preventDefault();
        });

    });

    function ShowDialog(modal) {
        $("#overlay").show();
        $("#dialog").fadeIn(300);

        if (modal) {
            $("#overlay").unbind("click");
        }
        else {
            $("#overlay").click(function(e) {
                HideDialog();
            });
        }
    }

    function HideDialog() {
        $("#overlay").hide();
        $("#dialog").fadeOut(300);
    } 

</script>`

when i click on the link ,i don't want to execute the Jquery code , how to select the div without the link in.

thanks in advance

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

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

发布评论

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

评论(4

离去的眼神 2024-10-31 10:30:24

您是否正在寻找类似 stopPropagation() 代码的内容?

$(".rsAptContent").click(function(e) {
            e.stopPropagation();
            ShowDialog(true);
            return false;
        });

    });

这应该会阻止链接执行。

http://api.jquery.com/event.stopPropagation/

编辑:区分单击链接并单击除链接之外的内容的任何部分

    $(".rsAptContent").click(function(e) {
                var $target = $(e.target);
                if($target.is(a){
                  // It's the link.
                }else{
                  // else it's not
                }
            });
        });

Are you looking for something like the stopPropagation() code?

$(".rsAptContent").click(function(e) {
            e.stopPropagation();
            ShowDialog(true);
            return false;
        });

    });

That should stop the link from executing.

http://api.jquery.com/event.stopPropagation/

Edit: Distinguish between clicking the link and clicking on any part of the content except the link

    $(".rsAptContent").click(function(e) {
                var $target = $(e.target);
                if($target.is(a){
                  // It's the link.
                }else{
                  // else it's not
                }
            });
        });
相对绾红妆 2024-10-31 10:30:24

检查单击的目标元素,然后执行操作

以获取有关单击哪个元素的信息,使用下面的脚本

function whichElement(event){
    var tname
    tname=event.srcElement.tagName
    alert("You clicked on a " + tname + " element.")
}

Check for the clicked target element than perform action

to get info about which element is click use below script

function whichElement(event){
    var tname
    tname=event.srcElement.tagName
    alert("You clicked on a " + tname + " element.")
}
秋意浓 2024-10-31 10:30:24

试试这个:

$(".rsAptContent").click(function(e) {
        if($(e.target).hasClass('rsAptDelete')) return false;
        ShowDialog(true);
        e.preventDefault();
    });
});

如果目标是链接,则事件被取消;

Try this:

$(".rsAptContent").click(function(e) {
        if($(e.target).hasClass('rsAptDelete')) return false;
        ShowDialog(true);
        e.preventDefault();
    });
});

If the target is the link the event is cancelled;

累赘 2024-10-31 10:30:24

如果删除链接上已有点击处理程序,则只需使用 stopPropagation() 停止事件传播即可。

$(".rsAptDelete").click(function(e) {
    e.stopPropagation();
});

If you already have a click handler on the delete link, then just stop the event propagation there by using stopPropagation().

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