【问题标题】:Hitwise tracking on ImageButton click event in ASP.NET在 ASP.NET 中对 ImageButton 单击事件进行按次跟踪
【发布时间】:2011-01-05 05:48:22
【问题描述】:

我有一个 ImageButton 设置,在 OnInit 事件中,我设置了 Click 事件

btnJoinNow.Click += new ImageClickEventHandler(btnJoinNow_Click);

在客户端,我设置了一个 jQuery click 事件,该事件仅在按下按钮时触发命中跟踪事件。我遇到的问题是按钮事件似乎正在击败 javascript 而不是跟踪。在 imagebutton 事件触发服务器端之前,我需要暂停 1 秒。

我尝试了以下方法,但总是触发。我也尝试过 e.preventDefault(),但这只是完全停止了回发。

$("input[id$='btnJoinNow']").click(function(e) {
    Spots.HitWise();

    setTimeout(function(){
    }, 5000);
});

编辑:

我可以让它工作的唯一方法是执行以下操作:

$("input[id$='btnJoinNow']").click(function(e) {
    Spots.HitWise();

    setTimeout(function(){
       $("input[id$='btnJoinNow']").unbind('click').bind('click', function(e){});
    }, 1000);

    return false;
});

这将为 HitWise 事件提供足够的时间来跟踪,然后清除 click 事件并再次调用自身。

【问题讨论】:

    标签: asp.net jquery postback tracking


    【解决方案1】:

    使用OnClientClick

    <asp:ImageButton id="btnTest" runat="server" 
          OnClientClick="javascript:FireHitwise();" .../>
    
    <script type="text/javascript">
    function FireHitwise(){
        Spots.Hitwise();
        return true;//returning false will not fire server side handler
    }
    </script>
    

    【讨论】:

    • 这个问题是,hitwise 事件没有时间触发。返回 true 和随后的回发击败了跟踪事件。即使放置 javsacript 延迟也不起作用。我已经求助于在下一页触发事件,以便它在页面加载时加载,而不必担心时间问题。我之前可以让它工作的唯一方法是在我的编辑中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2012-11-17
    • 1970-01-01
    • 2016-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多