0

我想知道是否可以从 mouseleave 函数触发 ajax 请求?我希望在鼠标离开时发送字符串“Y”,li以便可以在数据库中更新它。

这有可能吗?

(function(){
  $('li#myId').mouseenter(function(){
    var y = 'Y';
  }).mouseleave(function(){

    $.ajax({
      type: 'POST',
      url: 'update.php',
      data: 'y='+y,
      success: function(response){
        $('li.#myId').html(response);
      }

    });
  });

})();

4

2 回答 2

0

当然,只是存储y为数据。

(function(){
    var postY = function (y) {
        $.ajax({
          type: 'POST',
          url: 'update.php',
          data: 'y='+y,
          success: function(response){
              $('#myId').html(response);
          }
        });
    };

    // li#myId using both a tag and id is unnecessary since id is unique
    $('#myId').mouseenter(function(e){
        $(this).data('y', 'Y');
    }).mouseleave(function(e){
        postY($(this).data('y'));
    });
})();
于 2012-04-11T09:42:59.227 回答
0

如果您在函数内声明“y”变量,它将仅适用于该函数。您应该在 $(document).ready 函数之后声明它并在事件中更改它。当 mouseleave 事件被触发时,你可以通过 ajax 发送它。

$(document).ready(function(){
  var y = 'Y'
  $('li#myId').mouseenter(function(){
     // whatever you want to do here with "y"
  });

  $('li#myId').mouseleave(function(){
     // ajax
  });
});
于 2012-04-11T09:43:25.057 回答