jquery 插件中的回调参数未定义
arguments for callback in jquery plugin are undefined
如何调用在插件外部定义但使用插件内部参数的函数函数。我在插件调用函数但参数未定义的地方有它。在插件内部,参数具有值。
(function ($) {
$.fn.myPlugin = function (options) {
var defaults = {
type: 0,
callBack: function () { }
};
var settings = $.extend({}, defaults, options);
this.find('.list-item').click(function (e) {
e.preventDefault();
var txt = $(this).attr('href');
var id = txt.substring(1, txt.length);
settings.callBack.call(settings.type, id); // populated here
});
return this;
};
} (jQuery));
function loadData(type, id) {
// type and id are undefined
}
<script type="text/javascript">
$(document).ready(function () {
$("#mydiv").myPlugin({
type: 190,
callBack: function(){ loadData();}
});
});
</script>
loadData() 不提供任何参数,而类型和 ID 是预期的
如果替换
会怎样
callBack: function(){ loadData();}
由
callBack: loadData
希望对您有所帮助
如何调用在插件外部定义但使用插件内部参数的函数函数。我在插件调用函数但参数未定义的地方有它。在插件内部,参数具有值。
(function ($) {
$.fn.myPlugin = function (options) {
var defaults = {
type: 0,
callBack: function () { }
};
var settings = $.extend({}, defaults, options);
this.find('.list-item').click(function (e) {
e.preventDefault();
var txt = $(this).attr('href');
var id = txt.substring(1, txt.length);
settings.callBack.call(settings.type, id); // populated here
});
return this;
};
} (jQuery));
function loadData(type, id) {
// type and id are undefined
}
<script type="text/javascript">
$(document).ready(function () {
$("#mydiv").myPlugin({
type: 190,
callBack: function(){ loadData();}
});
});
</script>
loadData() 不提供任何参数,而类型和 ID 是预期的
如果替换
会怎样callBack: function(){ loadData();}
由
callBack: loadData
希望对您有所帮助