在Widget Factory中获取窗口小部件选择器?

时间:2014-12-17 20:27:54

标签: jquery jquery-plugins

有没有办法让选择器用来调用我的小部件?

例如,如果我的选择器是$("输入[标题* ='成本中心']"),我希望我的小部件能够看到"输入[标题* ='成本中心']"。

我发现这篇帖子Accessing .selector within a JQuery UI Widget可能会暗示如何完成,但无法开始理解它。如果这是一个答案,我该如何实现它?我的小部件名称是PNC_ERA.simpleDialogListSP。

1 个答案:

答案 0 :(得分:1)

检查一下:

<强> HTML

<div id='test'></div>
<div class='test'></div>

<强>的widget

$(function () {
    $.widget("test.testwidget", {
        _create: function () {
            this.element.text('Selector: ' + this.options.selector)
        },
    });
}(jQuery));

以及您已找到的answer中的代码

// Save the original factory function in a variable
var testFactory = $.fn.testwidget;

// Replace the function with our own implementation
$.fn.testwidget = function(obj){
    // Add the selector property to the options
    $.extend(obj, { selector: this.selector });

    // Run the original factory function with proper context and arguments
    return testFactory.apply(this,arguments);
};

<强>用法

$(document).ready(function() {
    $('#test').testwidget({});
    $('.test').testwidget({});
});

这是有效的JSFiddle