点击事件的问题?

时间:2010-07-06 12:48:29

标签: javascript-events button safari click anchor

在此代码中,按钮和锚点都有点击事件。

alert(document.getElementById("btn").click); //not working in safari
alert(document.getElementById("btn1").click); // is working in safari

我想执行主播的点击事件我做什么?

<head>
<script type="text/javascript">
function clickMe()
{
     alert('My Name is ' + event.srcElement.name);
}
</script>
</head>
<body>
<a href="#" name="btn" id="btn" onclick="clickMe()">a</a>
<input type="button" href="#" name="btn1" id="btn1" onclick="clickMe()" />
<script>

//document.getElementById("btn").click();
alert(document.getElementById("btn").click);
alert(document.getElementById("btn1").click);
</script>
</body>

2 个答案:

答案 0 :(得分:1)

尝试这种方式

    <!DOCTYPE html>
    <html>
      <head></head>
      <body>
        <a href="#" name="btn" id="btn">a</a>
        <input type="button" href="#" name="btn1" id="btn1"  />
        <script>
          function teste(){
             alert('You clicked on an anchor');
          }

          window.onload = function() {
            document.querySelector("#btn").addEventListener("click", teste);
          };
        </script>
      </body>
    </html>

答案 1 :(得分:0)

取自另一个问题Can I call jquery click() to follow an <a> link if I haven't bound an event handler to it with bind or click already?

  

我做了一些研究,似乎.click不会与'a'标签一起使用,因为浏览器不会使用javascript支持“假点击”。我的意思是,你不能用javascript“点击”一个元素。使用'a'标签,您可以触发其onClick事件,但链接不会更改颜色(对于访问过的链接颜色,在大多数浏览器中默认为紫色)。因此,将$()。click事件与'a'标记一起使用是没有意义的,因为转到href属性的行为不是onClick事件的一部分,而是在浏览器中硬编码。

由于此行为,Safari和Chrome不允许链接对象具有.click功能。看起来IE不那么严格了。