触碰事件没有在锚上触发,没有href

touch events not firing on anchor with no href

本文关键字:没有 href 事件      更新时间:2023-09-26

考虑以下内容:

<a class="addThing">link</a>
$(document).on('click','.addThing',function(){
    alert('test');
});

在我的iPhone上,我无法在这个锚点上获得点击事件,直到我将href="javascript:"添加到锚点上。在页面加载之后,锚被添加到DOM中。我能够通过使用JS向DOM添加一个锚来重新创建这个锚,并确认它不注册点击,但如果我在页面加载时添加它,它会。

这表明,如果通过javascript加载到DOM,手机/浏览器/操作系统以某种方式处理元素不同,但它是相同的HTML。

我有几个问题:

  1. 为什么点击事件触发时需要有href呢
  2. 是否有其他方法来获得事件注册?(我在想一些与标签索引或类似的东西。)
  3. 这是特定于操作系统/设备/浏览器/平台或这是工作的东西,因为它应该按照W3C文档?
  4. javascript:是否与javascript:void(0)相同?我在研究这个的时候遇到了void(0),我一直只做javascript:

编辑

/http://www.quirksmode.org/blog/archives/2010/10/click_event_del_1.html1,2 &显然,因为href反过来添加了cursor: pointer的CSS样式,它使它神奇地工作。我没有android设备可以测试。

对#4的回答显然是,现在是2016年。不知道这是什么意思

//use following css for a 
a {cursor:pointer;}