我试图阻止浏览器关注某些链接,而不是在点击它们时取消隐藏某些Div。
我遇到麻烦只是让链接不被遵循。
这就是我所拥有的:
var titles = $('a.highlight');
jquery.each(titles, function(){
this.click(function(){
return false;
});
});
似乎没有分配点击处理程序。我错过了什么?
答案 0 :(得分:3)
尝试
this.click(function(e){ e.preventDefault(); }
实际上,您可能需要在this
上使用jQuery构造函数:
$(this).click(function(){ return false; }
您也可以尝试使用each
功能上的参数,而不是使用this
:
jQuery.each( titles, function(index, elem) { $(elem).click( function() { return false; } ) } );
就个人而言,我只会做titles.each( ...
。在该实例中,您可以使用this
绑定单击处理程序。我不确定this
与jQuery.each
或者只是在click
上致电titles
:
titles.click( function() { return false; } )
这会将点击绑定到titles
中的每个元素。你不需要循环它们。
答案 1 :(得分:0)
您可以稍微压缩该jquery:
$('a.highlight').click(function() { return false; });
你还应该确保:
$(document).ready(function() { *** code here *** });
块中。 编辑:根据其他回复 - 问题是this
表示DOM对象,而$(this)
是jquery对象。要使用.click函数附加处理程序,您需要一个jquery对象。
简而言之,在每个循环中使用this
将无法满足您的要求。您需要使用$(this)
来获取jquery表示。