2015-09-05 23 views
0

我有這個JavaScript檢測瀏覽器是否支持觸摸事件,然後設置的觸摸事件與具有click事件的每一個元素:進位值

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事件屬性值最終未定義。有人可以解決這個問題嗎?

+0

你設置的值是像'汽車的字符串()' – Rayon

+0

我不太明白 –

+1

這可能是因爲'car'變量是在'all [i] .setAttribute('ontouchstart',car);'之後定義的 – Wracker

回答

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>