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();
        }
    });
});

したがって、 if が false であることがわかるようdata.statusに、イベント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