Javascript Onclick在Chrome中触发两次,而不是IE或Firefox

Javascript Onclick在Chrome中触发两次,而不是IE或Firefox,javascript,google-chrome,Javascript,Google Chrome,很抱歉重复了我的帖子 我实际上需要下面的javascript调用来内联处理超链接,所以我想知道是否有人有任何想法。点击任一超链接都会导致javascript函数GenerateNewNumber在Chrome中启动两次,但不会在IE或Firefox中启动。在Chrome中单击一次后,它只会在后续单击时添加一次标签。我再次使用Chrome 20.0.1132.57、IE9和Firefox 13 <%@ Page Language="VB" AutoEventWireup="false" Co

很抱歉重复了我的帖子

我实际上需要下面的javascript调用来内联处理超链接,所以我想知道是否有人有任何想法。点击任一超链接都会导致javascript函数GenerateNewNumber在Chrome中启动两次,但不会在IE或Firefox中启动。在Chrome中单击一次后,它只会在后续单击时添加一次标签。我再次使用Chrome 20.0.1132.57、IE9和Firefox 13

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="test" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
<script type="text/javascript" language="javascript">

    function GenerateNewNumber() {
        var randomnumber = Math.floor(Math.random() * 1234);
        document.getElementById('NumberLabel').innerHTML += '<br>' + 'Random Number is ' + randomnumber;
    }

</script>
</head>
<body>
    <form id="form1" runat="server">

    <asp:LinkButton ID="Button1" runat="server" OnClientClick="GenerateNewNumber(); return false;">Click for Random Number Test 1</asp:LinkButton><br />
    <a id="Button2" href="#" onclick="GenerateNewNumber(); return false;" target="_blank">Click for Random Number Test 2</a>
    <asp:Label ID="NumberLabel" runat="server"></asp:Label>
    </form>
</body>
</html>

函数GenerateNewNumber(){
var randomnumber=Math.floor(Math.random()*1234);
document.getElementById('NumberLabel')。innerHTML+='
'+'随机数是'+randomnumber; }

再次感谢您的帮助。

这可能是您正在使用的google扩展的结果。然而,我确实记得有这个问题,并且在超链接的onclick中指定了返回false。我记得一些普通的调整使它停止发射两次

尝试删除“return false”后面的分号

回顾这篇文章,

你可以试试这个方法

protected override void OnPreInit(EventArgs e)
{
    if (Request.UserAgent != null && (Request.UserAgent.IndexOf("AppleWebKit") > 0))  // added for compatibility issues with chrome 
    {
         this.ClientTarget = "uplevel";
    }

     base.OnPreInit(e);
}

最后,您应该考虑使用除链接/锚之外的元素/标签。

可能的重复的是的,它是相似的,但是这个例子中的问题不是用StimeTimeUT,加上我需要它来执行内联,而不是我提供的jQuery示例。我在Chrome 20或21上没有这样的问题。你能在没有ASP的情况下得到一个失败的测试用例吗?谢谢Brett-这是一个导致问题的扩展(双击)。我将来一定会注意这一点。