【问题标题】:jQuery plugin callback function parametersjQuery插件回调函数参数
【发布时间】:2013-12-07 00:24:28
【问题描述】:

我正在寻找一种更好的方法来访问/管理插件回调函数中的数据。 我想做和 jQuery UI 一样的事情。

UI 示例:(我想怎么做)http://api.jqueryui.com/sortable/

$( ".selector" ).sortable({
   activate: function( event, ui ) {
     alert(ui.item)
     alert(ui.position)
     alert(ui.offset)
   }
});

我的插件示例(我现在如何拥有它):

$( ".selector" ).myplugin({
   activate: function( event, item, postion, offset ) {//to much parameters
     alert(item)
     alert(position)
     alert(offset)
   }
});

//inside the plugin
var varItem = '';
var varPosition = '';
var varOffset = '';

if(typeof self.o.activate == 'function'){
    self.o.activate.call(this, varItem, varPosition, varOffset);
}

【问题讨论】:

  • 在不知道用户从哪里获得 item/pos/offset 属性的情况下,很难给出可靠的答案。你能用一个物体做这个吗?那么用户可以传递一个元素或一个声明的对象吗?

标签: javascript jquery function


【解决方案1】:

这应该可以解决问题

$( ".selector" ).myplugin({
   activate: function( event, object ) {//to much parameters
     alert(object.item)
     alert(object.position)
     alert(object.offset)
   }
});

//inside the plugin
var varItem = '';
var varPosition = '';
var varOffset = '';

if(typeof self.o.activate == 'function'){
    self.o.activate.call(this, {item: varItem, position: varPosition, offset: varOffset});
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 2014-07-03
    • 2018-04-07
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    相关资源
    最近更新 更多