我找到了很多像这个函数的东西:
$(function() {
$("body a").click(function() {
alert(this.innerHTML);
return false;
});
});
this
和$(this)
在jquery中有什么区别?
它们都有一行代码return false;
- 我不知道何时应该在jquery函数中使用return false
,也不知道它的用途是什么?
我找到了很多像这个函数的东西:
$(function() {
$("body a").click(function() {
alert(this.innerHTML);
return false;
});
});
this
和$(this)
在jquery中有什么区别?
它们都有一行代码return false;
- 我不知道何时应该在jquery函数中使用return false
,也不知道它的用途是什么?
false
时会执行三个任务:
只需使用 preventDefault()
就可以取消默认行为。但是,使用 return false;
可能会导致代码脆弱。通常您只需要这样做:
$("a").on( 'click', function (e) {
// e == our event data
e.preventDefault();
});
第二点是在JavaScript中,"this"是一个DOM元素,而"$(this)"是一个jQuery元素,引用了这个DOM元素。有关此主题的更多信息,请阅读jQuery's this: demystified。
您正在单击锚点,其默认行为是导航到某个位置。返回false可能是为了防止导航并使用户保持在当前页面/视图。
this
是未封装的 DOM 元素。 $(this)
封装它并返回一个 jQuery 元素。常见做法是将其封装一次,并在作用域内作为 that
或者通常是 $this
(在变量名前加上 $ 是一种约定,表示一个 jQuery 元素)。$(function() {
$("body a").click(function() {
var $this = $(this);
alert($this.html());
return false;
});
});