我有一个范围
<span class='click1 click2'>Click me </span>
您可以看到有两个类 click1 和 click2
现在下面是脚本
$(".click1").click(function () {
alert('yes I am click1');
});
$(".click2").click(function () {
if(confirm('Sure to Click1'))
return false;
});
我期望只有click1允许才会调用click2。
这是jsfiddle链接
我尝试了交换jquery函数,它是调用哪个是第一个编写的,但是在场景中不起作用,
有很多函数编写,**现在我想要为元素添加一个类,并且想要激活一个新的权限对话框,之前的书面事件只有在新事件允许它们工作时才有效..
如果问题不明确,
问题是当我对的确认说“否”时确认(确认(&#39;确定要点击1&#39;))然后click1不起作用
请告知**
由于
答案 0 :(得分:1)
你可能正在寻找event.stopImediatePropagation()
。不幸的是,alert()
和confirm
并没有很好地发挥作用。
答案 1 :(得分:1)
试试这个
$(".click1").click(function () {
if($(this).hasClass("sure"))
{
alert('yes I am click1');
}
});
$(".click2").click(function () {
if(confirm('Sure to Click1'))
{
$(this).addClass("sure");
}
else
{
$(this).removeClass("sure");
}
});
答案 2 :(得分:0)
我不确定我是否理解得很好,但是它来了:
$('.click1').click(function() {
console.log('1');
$(this).unbind('click');
$('.click2').click(function() {
console.log('2');
});
});
编辑: 现在? jsfiddle2
答案 3 :(得分:0)
您可以将布尔变量分配给两个单击函数的父作用域。然后,您可以在第一次单击时将变量设置为true或false,并检查第二次单击时是否已更改该变量。如果你想减少更多,只需使用一个if
的单击函数来检查该变量的条件。像这样:
var isClicked = false;
$(".click").click(function () {
if (!isClicked) {
// do first click stuff
isClicked = true;
} else {
// do second click stuff
}
});
答案 4 :(得分:0)
这应该有效:
$(".one").click(function(){
alert('one');
});
$(".two").mousedown(function(){
if(confirm("Sure?"))
$(".one").trigger("click");
});
首先触发Mousedown事件,然后单击鼠标点击事件