Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 被调用的函数n+;1次而不是一次——为什么?_Jquery_Facebook - Fatal编程技术网

Jquery 被调用的函数n+;1次而不是一次——为什么?

Jquery 被调用的函数n+;1次而不是一次——为什么?,jquery,facebook,Jquery,Facebook,在jquery中,当您在我的页面上单击名为quote_box的元素时,我有一个事件。如果单击“报价”框,将弹出一个弹出窗口。弹出窗口上有一个Facebook图标。如果你点击Facebook图标,你将进入另一个活动。其想法是,每个报价框代表不同的人。如果你点击一个人的报价框,那么发送到Facebook的是一个URL,该URL的末尾是该人的姓名 发生的情况是,第一次单击报价框,然后单击Facebook图标时,Facebook函数被调用一次。关闭弹出窗口,单击另一个报价框,然后再次单击Facebook

在jquery中,当您在我的页面上单击名为quote_box的元素时,我有一个事件。如果单击“报价”框,将弹出一个弹出窗口。弹出窗口上有一个Facebook图标。如果你点击Facebook图标,你将进入另一个活动。其想法是,每个报价框代表不同的人。如果你点击一个人的报价框,那么发送到Facebook的是一个URL,该URL的末尾是该人的姓名

发生的情况是,第一次单击报价框,然后单击Facebook图标时,Facebook函数被调用一次。关闭弹出窗口,单击另一个报价框,然后再次单击Facebook图标。Facebook函数被调用两次。关闭弹出窗口,单击另一个报价框,然后再次单击Facebook图标。Facebook函数被调用了三次,等等

谁能告诉我为什么会这样

这是我的密码:

html:


这是因为您设置了多个“点击”事件(其中一个是双倍的)


您有一个嵌套的事件处理程序。您创建的事件正在触发另一个事件的创建。可以创建事件处理程序,而不显示当前显示的对象。我建议取消嵌套这样的事件:

     var currentID = 0;

        $('.quote_box').on('tap', function() {
            $('.mask').fadeIn();
            //get video file name
            currentID = $(this).parent().attr('id');
        });

     //if click facebook icon for this video 
            $('.videoFBlink').on('tap', function() {
                posttoFB(currentID );
                return false;
            });

    function posttoFB(shareFile) {
            console.log(shareFile);
            if (shareFile !== undefined) {
                var shareurl = "https://mywebsite?file=" + shareFile;
            } else {
                var shareurl = "https://nmywebsite";
            }
            window.open('https://www.facebook.com/sharer/sharer.php?u='+escape(shareurl)+'&t='+window.location, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600'); 
        }  

非常感谢。就这样!只要允许,我会尽快把这个标记为答案。很乐意帮忙。干杯
$('.quote_box').on('tap', function() {
        $('.mask').fadeIn();
        //get video file name
        thisID = $(this).parent().attr('id');

        //if click facebook icon for this video 
        $('.videoFBlink').on('tap', function() {
            posttoFB(thisID);
            return false;
        });


    });
function posttoFB(shareFile) {
        console.log(shareFile);
        if (shareFile !== undefined) {
            var shareurl = "https://mywebsite?file=" + shareFile;
        } else {
            var shareurl = "https://nmywebsite";
        }
        window.open('https://www.facebook.com/sharer/sharer.php?u='+escape(shareurl)+'&t='+window.location, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600'); 
    }   
$('.quote_box').on('tap', function() {
    $('.mask').fadeIn();
    //get video file name
    thisID = $(this).parent().attr('id');

    //if click facebook icon for this video 
    $('.videoFBlink').off("tap").on('tap', function() {
        posttoFB(thisID);
        return false;
    });


});
     var currentID = 0;

        $('.quote_box').on('tap', function() {
            $('.mask').fadeIn();
            //get video file name
            currentID = $(this).parent().attr('id');
        });

     //if click facebook icon for this video 
            $('.videoFBlink').on('tap', function() {
                posttoFB(currentID );
                return false;
            });

    function posttoFB(shareFile) {
            console.log(shareFile);
            if (shareFile !== undefined) {
                var shareurl = "https://mywebsite?file=" + shareFile;
            } else {
                var shareurl = "https://nmywebsite";
            }
            window.open('https://www.facebook.com/sharer/sharer.php?u='+escape(shareurl)+'&t='+window.location, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=300,width=600'); 
        }