繁体   English   中英

在鼠标悬停时发送Ajax请求

[英]Send ajax request on mouseover

我有一组具有相同类选择器的元素。 当我在此元素上输入鼠标时,我想发送Ajax查询。 当我只是console.log(1); 在鼠标上输入一切正常,但是当我发送请求时,它以某种进度上升,并且每个下一个悬停都发送许多请求,而不是一个。 这是我的代码:

$(document).ajaxComplete(function () {
    $('.device_hover').each(function (key, val) {
        $(val).mouseenter(function () {
            var val = $(this).html();
            console.log(1);

            $.ajax({
                'type': 'POST',
                'url': 'handlers/route_request.php',
                'dataType': 'html',
                'success': function (data) {
                    console.log(data);
                }
            });
        });
    });
});

有人可以帮我吗? 也许我做错了什么?

我认为最好的方法是使用hover事件发送Ajax请求。 这将仅发送一次。

$(".device_hover").hover(function(){

   var val = $(this).html();
        console.log(1);

        $.ajax({
            'type': 'POST',
            'url': 'handlers/route_request.php',
            'dataType': 'html',
            'success': function (data) {
                console.log(data);
            }
  }, function(){
    //This function is for unhover.
 }); 

除了使用悬停事件,您还可以使用onmouseenter和onmouseleave事件仅进行一次呼叫。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM