删除" mouseleave"关于某些行为的事件

时间:2013-08-21 19:48:08

标签: jquery html

我有一个触发mouseleave事件的DIV所以当我离开DIV时它是隐藏的。此DIV包含input#login_user的表单。我正在检查一个函数中的某些值,见下文:

$(".cart").click(function() {
    checkLogin(function(data){
        if (data.status) {
            // Some code here
        } else {
            alert("You must login"); // Change
            $(".top-bar li, .top-bar li.has-dropdown").trigger("mouseenter");
            $("#login_user").focus();
        }
    });
});

因为您可能会看到data.status为false,所以会触发事件mouseenter并且input#login_user应该关注。如何在触发mouseenter后阻止mouseleave事件?焦点永远不会发生,为什么?

更新

This是具有mouseleave事件的元素所在的代码(参见第116~132行)。这是checkLogin的代码:

function checkLogin(callback) {
  $.post(Routing.generate('_loginStatus'), null, function(responseData) {
    if (callback != undefined)
      callback(responseData);
    else
      handleLoginResponse(responseData);
  });
}

0 个答案:

没有答案