将多个元素的属性值传递给另一个属性

时间:2015-09-05 19:20:59

标签: javascript attributes getattribute

我有这个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);

使用此位,我的目标是将click事件中的属性值传递给touch事件,但这不起作用,因为touch事件属性值最终未定义。任何人都可以解决这个问题吗?

1 个答案:

答案 0 :(得分: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>