Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery加载回调函数中访问$(this)?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jquery加载回调函数中访问$(this)?

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

我们有一些代码,可以用类内容将html加载到div。我们有一个带有link类的div元素,它有data href和一些其他data-*属性。代码如下所示:

$(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)//