我有以下内容:
<div class="tab-pane" id="message">
<textarea rows="4" cols="50" id="send_message" placeholder="Enter text ..."> </textarea>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">OK</a>
<a href="#message" class="btn btn-large btn-info" data-toggle="tab">Cancel</a>
Run Code Online (Sandbox Code Playgroud)
$('#message').click(function(){
if($("a", this).is(":contains(OK)")) {
console.log("im in OK!!");
} else if($("a", this).is(":contains(Cancel)")) {
console.log("im in cancel!!");
}
});
Run Code Online (Sandbox Code Playgroud)
当我按下OK按钮并按预期执行时,这可以正常工作,但是当我点击取消时,OK中的代码仅执行.取消代码永远不会执行!我究竟做错了什么?
this是事件绑定的元素.它始终是 #message,因此$("a", this)将始终是两个按钮. .is将扫描两个按钮,看看它们是否包含任何按钮"OK".第一个是,所以它总是进入第一个块.
您应该将事件绑定到按钮本身,而不是整个div.
| 归档时间: |
|
| 查看次数: |
889 次 |
| 最近记录: |