2015-04-12 68 views
-2

我想這個轉換,所以我並不需要加載庫如何轉換這個jQuery

$('.mobile .pureCssMenu span , .tablet .pureCssMenu span').on('click',function(e){ 
    e.preventDefault(); 
    return false; 
}); 
+0

jQuery的** **是的Javascript。 – SLaks

+1

我並不想在這個頁面上加載一個jQuery庫,我可以使用什麼方法 – MShack

回答

3

document.querySelectorAll用於與CSS選擇器:

var elements=document.querySelectorAll('.mobile .pureCssMenu span , .tablet .pureCssMenu span'); 
for(var i = 0;i < elements.length;i++){ 
    elements[i].onclick=function(e){ 
     e.preventDefault(); 
     return false; 
    } 
} 
+0

不要使用'for in'來迭代數組。 – SLaks

1

的方法使用forEachcall,並addEventListener方法:

var elements = document.querySelectorAll('.mobile .pureCssMenu span , .tablet .pureCssMenu span') 
Array.prototype.forEach.call(elements, function (elem) { 
    elem.addEventListener('click', function (evt) { 
     evt.preventDefault() 
     return false 
    }) 
}) 

JSFiddle

1

更好的方法:

var elements = document.querySelectorAll('.mobile .pureCssMenu span , .tablet .pureCssMenu span'); 
for (var i = 0, il = elements.length; i <= il; i += 1) { 
    addEvent(elements[i], 'click', function (event) { 
     event = event || window.event; 
     event.preventDefault ? event.preventDefault() : (event.returnValue = false); 
     return false; 
    }); 
} 

function addEvent(element, eventName, callback) { 
    if (element.addEventListener) { 
     element.addEventListener(eventName, callback); 
    } else { 
     element.attachEvent(eventName, callback); 
    } 
}