Javascript 如何在jquery加载回调函数中访问$(this)?
我们有一些代码,可以用类内容将html加载到div。我们有一个带有link类的div元素,它有data href和一些其他data-*属性。代码如下所示:Javascript 如何在jquery加载回调函数中访问$(this)?,javascript,jquery,Javascript,Jquery,我们有一些代码,可以用类内容将html加载到div。我们有一个带有link类的div元素,它有data href和一些其他data-*属性。代码如下所示: $(document).on('click', '.link', linkClick); linkClick: function (event) { event.stopPropagation(); $('.content').load($(this).data('href'), functio
$(document).on('click', '.link', linkClick);
linkClick: function (event) {
event.stopPropagation();
$('.content').load($(this).data('href'), function (response, status) {
if (status == 'error') {
$('.content').html("Something went wrong. Please try again later");
}
});
}
我想访问加载函数回调函数中的$(this)以获取单击链接的所有其他数据-*属性的值,我如何才能做到这一点?您可以使用
event.target
访问单击的元素。最常见的方法是将其存储在该变量或自变量下
$(document).on('click', '.link', linkClick);
var href = $(this).data('href');
linkClick: function (event) {
event.stopPropagation();
$('.content').load(href, function (response, status) {
if (status == 'error') {
$('.content').html("Something went wrong. Please try again later");
}
});
}
$(document).on('click', '.link', linkClick);
linkClick = function (event) {
event.stopPropagation();
var that = event.target;
$('.content').load($(that).data('href'), function (response, status) {
if (status == 'error') {
$('.content').html("Something went wrong. Please try again later");
}
});
}
在加载调用之前创建对它的作用域引用:
function (event) {
event.stopPropagation();
var $that = $(this); // <- Like this
$('.content').load($(this).data('href'), function (response, status) {
// You can use $that here
if (status == 'error') {
$('.content').html("Something went wrong. Please try again later");
}
});
}
功能(事件){
event.stopPropagation();
var$that=$(this)//