jquery事件:(有时)同时处理两个事件

时间:2013-05-30 07:22:19

标签: jquery

我的页面上有两个控件。文本框和单选按钮。他们两个都会发射一个事件并进行处理。在每个句柄中,来自控件的数据用于调用休息服务。

在伪代码中:

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之前丢失文本框焦点?

1 个答案:

答案 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