我想提醒特定的div是否有点击。
场景:
<div class="container">
<div class="header"> <h1>Headline<h1> </div>
<div class="productbox"></div>
</div>
我知道如何提醒标题...
$("h1:contains('Headline')").one( function() {
alert("ALERT Headline");
});
...以及如何提醒Productbox
$(".productBox").click(function){
alert("ALERT Productbox click");
});
现在,我想“结婚”这两个。
我的代码:
if (!$("h1:contains('Headline')").one(function) && !$(".productBox").click(function)){
alert:("Alert when h1 contains Headline and ProductBox is clicked")};
取自:Jquery "if this and if that" then do this
旁注:没有唯一的选择器(我可以使用的元素或ID),这就是为什么我想使用标题的原因。
尽管“标题”不直接位于productBox类的上方
最佳答案
您应该知道click
是一个事件,并且仅当有人实际单击时才调用其中的函数。其余代码在代码正确启动时执行,请记住这一点。
您的代码包含以下语义部分:
分配一个单击处理程序:当somone单击时,将触发此函数。
检查是否存在内容Headline
的H1
如果是,则发出警报。
仅当某人单击时才触发第2点和第3点(因此,在触发点击处理程序时)
您的代码:
//Registering an on click handler, code inside here fires whe someone clicks
$(".productBox").click(function(){
//check if headline exists in your code (i prefer checking with length, since it returns a jquery array of found elements for this selector)
if ( $("h1:contains('Headline')").length == 1 )
{
//alert user if so
alert("Alert when h1 contains Headline and ProductBox is clicked");
}
});
关于jQuery one()
http://api.jquery.com/one/
一种是与click相同的功能:但是只有处理程序会触发一次。您可以这样使用它:
//Registering a click handler that only fires once, code inside here fires whe someone clicks
$(".productBox").one("click",function(){
//check if headline exists in your code (i prefer checking with length, since it returns a jquery array of found elements for this selector)
if ( $("h1:contains('Headline')").length == 1 )
{
//alert user if so
alert("Alert when h1 contains Headline and ProductBox is clicked");
}
});
关于javascript - 提醒特定div中是否有点击,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36286754/