提问人:Martin AJ 提问时间:1/20/2017 最后编辑:Martin AJ 更新时间:1/21/2017 访问量:178
如何检测特定元素是否被点击?
How can I detect specific element is clicked?
问:
请按照以下两个步骤操作:
- 通过单击它来关注
input
- 现在点击
button
$("input").on({
focusout: function() {
this.value += "one|";
}
});
$("button").on("click", function(){
$old_val = $("input").val();
$("input").val($old_val+"two|");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<button>Add "two"</button>
结果将是:!好吧,我不想要这个。我想在单击按钮时禁用。我该怎么做?one|two|
focusout
执行这两个步骤后的预期结果应该是 。two|
答:
2赞
Chase
1/21/2017
#1
您希望阻止按钮调用默认事件,这是浏览器更改焦点的位置。如果您将其分配给按钮上的事件,则使用将阻止这种情况发生。mousedown
e.preventDefault()
mousedown
$("input").on({
focusout: function() {
this.value += "one|";
}
});
$("button").on("mousedown", function(e) {
e.preventDefault();
});
$("button").on("click", function(){
$old_val = $("input").val();
$("input").val($old_val+"two|");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<button>Add "two"</button>
评论
0赞
Chase
1/21/2017
我猜你删除了评论,但它并没有禁用焦点......运行代码段并单击输入,然后单击按钮以外的任何位置
1赞
freedomn-m
1/21/2017
这样做的目的是通过在聚焦之前触发点击来有效地改变事件的顺序,从而允许 OP 添加代码来删除聚焦......或:)的东西
0赞
Martin AJ
1/21/2017
@freedomn-m 是的.这是个好主意,不是吗?;-)
评论
if
focusout
jav
java
java
jav
java