触摸事件未在锚点上触发且没有href

时间:2016-09-26 21:40:24

标签: javascript html ios

请考虑以下事项:

<a class="addThing">link</a>

$(document).on('click','.addThing',function(){
    alert('test');
});

在我的iPhone上,我无法在此锚点上触发点击事件,直到我将href="javascript:"添加到锚点。页面加载后,锚点被添加到DOM中。我可以通过使用JS向DOM添加锚点来重新创建它,并确认它没有注册点击,但是如果我在页面加载时添加它就可以了。

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

我有几个问题:

  1. 为什么href需要在那里点击事件才能触发。
  2. 是否有其他方法可以让事件注册? (我正在考虑使用tab index或类似的东西。)
  3. 这是针对OS /设备/浏览器/平台还是按照W3C文档的规定运行?
  4. javascript:javascript:void(0)相同。我在研究这个问题时偶然发现了void(0)这件事,我一直都在javascript:完成。
  5. 修改

    http://www.quirksmode.org/blog/archives/2010/10/click_event_del_1.html 回答1,2&amp; 3显然是因为href反过来又增加了cursor: pointer的CSS样式,这使它神奇地起作用。我没有Android设备可以测试。

    对#4的回答显然是2016年。不确定这意味着什么。

1 个答案:

答案 0 :(得分:0)

//use following css for a 

a {cursor:pointer;}