0

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

在伪代码中:

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) 

好吧,之前的关键字是我的问题。如何同时处理这两个事件,并且在单选按钮之前不会丢失文本框焦点?

4

1 回答 1

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>

你可以在这里运行:小提琴

于 2013-05-30T07:56:08.780 回答