【问题标题】:javascript click is to be executed first before my anchor tag's knockout click binding function在我的锚标记的敲除点击绑定功能之前首先执行 javascript 点击
【发布时间】:2014-03-16 07:42:44
【问题描述】:

我正在开发一个单页应用程序,并且我的一个页面中有锚标记。在单击任何锚标记时,我编写了要执行的逻辑。它的形式是,

$( "a" ).on( "click", function( e ) {

    // My LOGIC CODE  Here to change Window's Location.

  });

我的所有类型的链接都可以正常执行(例如:a href="/page1" ) 除了一个使用敲除绑定的锚标签。这个锚标签的形式是 ( a href="/page1" data-bind="click:myFunction" )

我的问题是通过单击锚标记 MyFunction() 首先被调用,然后它正在执行我的事件处理程序的事件,因此无法正常工作。

相反,我想先执行我的事件处理程序,然后执行函数(Knockout 的点击绑定)。

请提供解决方案。提前致谢。

【问题讨论】:

    标签: javascript jquery knockout.js onclick anchor


    【解决方案1】:

    使用来源,卢克。 ;)

    在创建事件处理程序的函数中(如click 绑定),there is this part

    if (handlerReturnValue !== true) {
        // Normally we want to prevent default action. 
        // Developer can override this be explicitly returning true.
        if (event.preventDefault)
            event.preventDefault();
        else
            event.returnValue = false;
    }
    

    只需从您的myFunction 返回true

    【讨论】:

      【解决方案2】:

      或者,您可以像这样在数据绑定上返回 true:

      <a href="page1" data-bind="click: function () { myFunction(); return true;}">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-15
        • 2017-01-19
        相关资源
        最近更新 更多