$('a').each(function() {
var clicked = false;
$(this).bind('click', function() {
if(!clicked) return !(clicked = true);
});
});
大家好。我试图找出如何将此函数应用于仅包含名为<a>
的类的touch
元素。换句话说:
功能应用于此:
<a href="#" class="touch">
功能不应用于此:
<a href="#">
抱歉,我是jQuery newb。
答案 0 :(得分:4)
您需要class selector(与当前的element selector相结合):
$('a.touch').each(function() {
var clicked = false;
$(this).bind('click', function() {
if(!clicked) return !(clicked = true);
});
});
值得阅读jQuery API(尤其是selectors section)。它会在以后节省你很多时间!
值得记住的是,大多数jQuery选择器与CSS选择器相同。如果你对CSS有所了解,你也可以将这些知识应用于jQuery。
另外,由于大多数jQuery方法都适用于匹配集中的每个元素,因此您可以摆脱each
循环。如果我已经正确理解,那么您正试图阻止每个a.touch
元素在第一次单击时跟随该链接。如果这是对的,那么你可以这样做:
$('a.touch').one("click", function() {
return false;
});
答案 1 :(得分:2)
jQuery使用CSS selectors。将您的选择器更改为$('a.touch')
以获取touch
类的锚标记,或仅更新$('.touch')
任何具有touch
类的元素。