Javascript 如果第一次单击有效,则第二次单击元素
我有一个跨度:Javascript 如果第一次单击有效,则第二次单击元素,javascript,jquery,Javascript,Jquery,我有一个跨度: <span class='click1 click2'>Click me </span> 我希望click2只有在click1允许的情况下才会被调用 以下是代码片段: $(“.click1”)。单击(函数(){ 警报(“是,我正在单击1”); }); $(“.click2”)。单击(函数(){ 如果(确认('确定单击1')) 返回false; }); 单击我您可能正在查找事件。stopImediatePropagation()。不幸的是,alert(
<span class='click1 click2'>Click me </span>
我希望click2只有在click1允许的情况下才会被调用
以下是代码片段:
$(“.click1”)。单击(函数(){
警报(“是,我正在单击1”);
});
$(“.click2”)。单击(函数(){
如果(确认('确定单击1'))
返回false;
});代码>
单击我
您可能正在查找事件。stopImediatePropagation()
。不幸的是,alert()
和confirm
我不确定自己是否理解得很好,但它来了:
var allowClick=true;
$(“.click1”)。单击(函数(){
如果(allowClick==真){
警报(“是,我正在单击1”);
}
});
$(“.click2”)。单击(函数(){
如果(确认('确定单击1')){
allowClick=false;
}
});代码>
单击我
您可以将布尔变量分配给两个单击函数的父范围。然后,您可以在第一次单击时将变量设置为true或false,并在第二次单击时检查变量是否已更改。如果您想进一步缩小它,只需使用带有检查该变量状况的If
的单击函数。像这样:
var isClicked = false;
$(".click").click(function () {
if (!isClicked) {
// do first click stuff
isClicked = true;
} else {
// do second click stuff
}
});
试试这个
$(".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");
}
});
这应该起作用:
$(".one").click(function(){
alert('one');
});
$(".two").mousedown(function(){
if(confirm("Sure?"))
$(".one").trigger("click");
});
首先触发Mousedown事件,然后触发mouseclick事件,您的问题是?最后一段是我的问题,谢谢,我非常接近,一个问题是如何优先考虑第一次单击,忽略事件定义的位置我无法解除任何事件的绑定这需要在调用的每个函数中进行更改。。。你的问题变了。那就不管了。
$(".one").click(function(){
alert('one');
});
$(".two").mousedown(function(){
if(confirm("Sure?"))
$(".one").trigger("click");
});