我有这个简单的功能
$.fn.extend({
initCustomFunction: function(){
var obj = { // some data }
$(this).data('myObj', obj); // I want to attach obj to this element
},
startCustomFunction: function(){
var obj = $(this).data('myObj');
// do something
}
});
$('#myId').initCustomFunction();
$('#myId').startCustomFunction();
在这个例子中,我无法检索到myObj'对象内部' startCustomFunction'。我怎么解决这个问题?当我在特定元素上调用我的Init函数时,我想将一些数据附加到当前的DOM元素。
答案 0 :(得分:1)
两个函数定义之间需要逗号。
$.fn.extend({
initCustomFunction: function(){
var obj = { foo: 'bar' };
$(this).data('myObj', obj); // I want to attach obj to this element
},
startCustomFunction: function(){
var obj = $(this).data('myObj');
$('#result').text(obj.foo);
}
});
$('#myId').initCustomFunction();
$('#myId').startCustomFunction();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="myId"></div>
<div id="result"></div>
&#13;