0

我有一个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 事件?也永远不会发生焦点,为什么?

更新

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

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

0 回答 0