请按照以下两个步骤操作:
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|
。
答案 0 :(得分:2)
您希望阻止按钮调用默认的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>