我的页面上有两个控件。文本框和单选按钮。他们两个都会发射一个事件并进行处理。在每个句柄中,来自控件的数据用于调用休息服务。
在伪代码中:
If textbox has focus lost -> call restText(textbox.value)
If radiobutton is clicked -> call restRadio(radiobutton.value)
到目前为止,这么好。现在的要求是,如果单击无线电并且文本框同时失去焦点,它应该做出如下反应:
If radiobutton is clicked && textbox has focus lost **before** -> call restBoth(radiobutton.value, textbox.value)
好吧,关键字之前是我的问题。如何在同时处理这两个事件,而不是在radiobutton之前丢失文本框焦点?
答案 0 :(得分:0)
试试这个:
<form name='emailSubmit' action='' method='post'>
<input type='text' id='email' value='I am text :)' />
<input type='radio' name='accept' /> I am radio 1 :)
<input type='radio' name='accept' /> I am radio 2 :)
<input type='radio' name='accept' /> I am radio 3 :)
</form>
您的Java脚本代码
<script>
var e = true;
$(function () {
$("input:radio['name'='accept']").click(function () {
radioClick();
});
$("#email").blur(function () {
focusOutText();
});
});
function focusOutText() {
alert("Focus gone from TEXT");
e = false;
};
function radioClick() {
if (!e) {
focusOutText();
}
alert("You clicked radio he he he..");
};
</script>
您可以在此处运行:Fiddle