0

我有这个 JavaScript 可以检测浏览器是否支持触摸事件,然后为每个具有点击事件的元素设置一个触摸事件:

function isTouchEnabled() {
    if ('ontouchstart' in window) {
    var all = document.querySelectorAll('[onclick]');
        for (var i = 0; i < all.length; i++) {
            all[i].setAttribute('ontouchstart', car);
            var car = all[i].getAttribute('onclick');
        }
    }
}

这一直有效,直到这一点:all[i].setAttribute('ontouchstart', car);

有了这个位,我的目的是将属性值从点击事件传递到触摸事件,但这不起作用,因为触摸事件的属性值最终是未定义的。任何人都可以解决这个问题吗?

4

1 回答 1

1

试试这个:

function hitMe() {
    alert('I am hit !');
}
function isTouchEnabled() {
  if ('ontouchstart' in window) {
    var all = document.querySelectorAll('[onclick]');
    for (var i = 0; i < all.length; i++) {
      var car = all[i].getAttribute('onclick');
      all[i].setAttribute('ontouchstart', car);
    }
  }
}
isTouchEnabled();
<div onclick="hitMe()">Click Me!</div>

于 2015-09-05T19:33:25.547 回答