Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ui 如何子类化小部件_Jquery Ui_Jquery Ui Widget - Fatal编程技术网

Jquery ui 如何子类化小部件

Jquery ui 如何子类化小部件,jquery-ui,jquery-ui-widget,Jquery Ui,Jquery Ui Widget,jQuery UI 1.8添加了使用如下代码扩展小部件的功能: $.widget("my.weirdbutton", $.ui.button, { }); 现在我可以创建一个weirdbutton,它的工作原理很像一个按钮: $("#myButton").weirdbutton(); 但是,只有古怪的按钮事件才会被触发。所以如果我有 $(".button").bind("buttoncreate", function() { console.log("a button was cr

jQuery UI 1.8添加了使用如下代码扩展小部件的功能:

$.widget("my.weirdbutton", $.ui.button, {
});
现在我可以创建一个
weirdbutton
,它的工作原理很像一个按钮:

$("#myButton").weirdbutton();
但是,只有古怪的按钮事件才会被触发。所以如果我有

$(".button").bind("buttoncreate", function() { 
    console.log("a button was created"); 
});
我会怀念所有古怪按钮的创作。这可以通过从weirdbutton小部件手动触发按钮事件来修复。不太好,但很管用

更大的问题是这样的代码无法工作:

$("#mybutton").weirdbutton();
$("#mybutton").button("option", "text", "My New Text");
第二行不是在现有按钮上设置选项,而是创建一个新按钮。我不知道怎么解决这个问题


那么,有没有一种方法可以使子类小部件遵循
方法?

我不知道。bind
方法可以使用这种方法替换初始的
\u create
方法:

$.widget("my.weirdbutton", $.ui.button, {
    _create: function() {
       $.ui.button.prototype._create.call(this);
       console.log("a button was created");
    }
});  
然后,如果您执行(at文档):

你应该得到一个
控制台。log


这里的完整代码:

问题在于
console.log
是由我的插件的用户调用的,而不是我。我不知道他们真正想要做什么(登录只是一个例子),我也无法将其硬编码到小部件代码中。感谢ant1j,我不知道如何调用高级类的原始create方法!如果是这样的话,别忘了将你的问题标记为“已回答”!
$(function() {
  $("#myButton").weirdbutton();      
});