Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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或javascript中设置函数调用的顺序或优先级?_Jquery_Function - Fatal编程技术网

如何在jquery或javascript中设置函数调用的顺序或优先级?

如何在jquery或javascript中设置函数调用的顺序或优先级?,jquery,function,Jquery,Function,我对jquery或javascript中的函数调用顺序或优先级有问题 假设我在onclick事件上编写了不同的函数,正如您在下面给出的代码中所看到的,我在onclick事件上有不同的函数。像 (a) onclick委托函数 (b) onclick绑定函数 (c) 点击功能 (d) onclick内联单击函数 我的问题是:我想在其他onclick函数的基础上调用delegate onclick函数,这意味着当click事件生成时,第一个调用应该是delegate onclick函数而不是other

我对jquery或javascript中的函数调用顺序或优先级有问题

假设我在onclick事件上编写了不同的函数,正如您在下面给出的代码中所看到的,我在onclick事件上有不同的函数。像

(a) onclick委托函数
(b) onclick绑定函数
(c) 点击功能
(d) onclick内联单击函数

我的问题是:我想在其他onclick函数的基础上调用delegate onclick函数,这意味着当click事件生成时,第一个调用应该是delegate onclick函数而不是others函数。默认情况下首先调用的内联onclick函数是我不想要的

<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">

            $(function (){                
                $("body").delegate(".track", "click", function(){                    
                    alert("Delegate called");

                });

                 $("a.track").click(function(){
                        alert("Click function called");
                 });

                 $(".track").bind("click", function (){
                    alert("Bind click called");
                });


            });



        </script>
    </head>

    <body>

        <table border="0">
            <tr>
                <td>
                    <p class="track">Click Me </p>
                    <input type="button" class="track" value="click me" />
                    <a href="http://google.com" class="track" onclick="javascript:alert('in Line on click called');">Go Google</a>
                    <br />
                    <a href="http://yahoo.com" class="track">Go Yahoo</a>
                    <br />
                    <a href="http://gaadi.com" class="track">Go Gaadi</a>
                    <br />
                </td>
            </tr>
        </table>
    </body>
</html>

$(函数(){
$(“body”).delegate(“.track”,“click”,function(){
警报(“被呼叫的代表”);
});
$(“a.track”)。单击(函数(){
警报(“单击调用的函数”);
});
$(“.track”).bind(“单击”,函数(){
警报(“绑定点击呼叫”);
});
});

单击我





谢谢你的回答

我的问题是,我想跟踪特定网页上的每一次点击事件。假设有一个链接,内联或外部onclick事件在该链接上调用某个函数或按钮单击或其他内容。我想,当一个点击事件生成时,我的特定函数应该首先调用它,它将发送ajax请求并更新数据库,在特定的链接或按钮上生成特定的点击事件。现在,在一个站点中可以有许多页面,在一个特定页面上可以有许多链接或按钮。我不想在现有代码中更改或修改。我只需要一个全局jquery或javascript函数,它在任何默认onclick操作发生之前调用每个click事件并跟踪事件

单击,绑定委托是顺序,如果内联单击出现,则转到第一个

如果顺序很重要,您可以创建自己的事件,并在其他回调触发这些事件时将回调绑定到激发

$('a.track').click(function(e) {
    // maniplate a.track ...
    $('a.track').trigger('a.track-manipulated');
});

$('a.track').bind('a.track-manipulated', function(e) {
    // do more stuff now that a.track has been manipulated
    return;
});

要了解更多信息,请看这个,

单击,绑定委托是顺序,如果内联单击出现,它将转到第一个

如果顺序很重要,您可以创建自己的事件,并在其他回调触发这些事件时将回调绑定到激发

$('a.track').click(function(e) {
    // maniplate a.track ...
    $('a.track').trigger('a.track-manipulated');
});

$('a.track').bind('a.track-manipulated', function(e) {
    // do more stuff now that a.track has been manipulated
    return;
});

要了解更多信息,请看这个,

我想不出绑定多个单击处理程序可以解决重组代码无法解决的任何问题。或者以问题的形式:你为什么要这样做?+1符合格雷格所说的。考虑重构代码。jQuery绑定事件的工作方式有一个可定义的模式,但您不应该依赖于此。我想不出绑定多个单击处理程序可以解决重组代码无法解决的任何问题。或者以问题的形式:你为什么要这样做?+1符合格雷格所说的。考虑重构代码。jQuery绑定事件的工作方式有一个可定义的模式,但您不应该依赖于此。