javascript - 如何找出哪个元素保存数据对象

标签 javascript jquery

如果我将数据对象传递给函数,如下所示:

$("#someobject").data({
    "prp1":"x",
    "dosomething":function(){
    callthisfunction(this);  //<---- HERE the data ref is sent to a function
   }
});

...
function callthisfunction(in_data)
{
  //how is the data element?
  var theElementHoldingTheDataIs = in_data.????;  //<--- how can I get $("#someobject")


}

我的问题是:有没有办法从数据中得知它依赖或属于哪个对象?

最佳答案

你可以使用闭包:

var obj = $("#someobject");
obj.data({
    "prp1": "x",
    "dosomething": (function(scope) {
        return function() {
            callthisfunction(scope); //<---- HERE the data ref is sent to a function
        }
    })(obj)
});

Example


或者,如果您只想发送数据对象:

var obj = $("#someobject");
obj.data({
    "prp1": "x",
    "dosomething": (function(scope) {
        return function() {
            callthisfunction(scope.data());
        }
    })(obj)
});

关于javascript - 如何找出哪个元素保存数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8645663/

相关文章:

javascript - 使用相对于当前脚本的路径访问文件? ( Node .js)

javascript - 如何使用 jQuery 查找下一个文本区域?

jquery - 高效的 DOM 选择技术 - 按属性选择是否很慢?

javascript - 通过字符串或整数更快地访问数字属性?

javascript - AngularJS 覆盖服务 setter 和 getter

javascript - 正则表达式仅匹配带有表情符号且没有其他文本的文本

javascript - 一棵 DOM 树中的多个 Knockout 模型绑定(bind)

javascript - 使用 Jquery 即时更改 CSS 类

javascript - 轮播 Bootstrap 在 IE 10 中不起作用

javascript - Highcharts javascript控件系列