Tag: jquery widgets

inheritancejQuery小部件并从外部调用一些基本小部件的方法

我有两个jQuery小部件,Widget A是基本小部件,Widget BinheritanceWidget A. 小工具A: $(function () { $.widget(“custom.widgetA”, { _create: function () { this.element .addClass(‘ui-widget-a’) .append( $(document.createElement(‘div’)).text(‘Widget A’) ); }, someMethod: function() { return ‘widget A’; } }); }(jQuery)); 小部件B: $(function () { $.widget(“custom.widgetB”, $.custom.widgetA, { _create: function () { this.element .addClass(‘ui-widget-b’) .append( $(document.createElement(‘div’)).text(‘Widget B’) ); this._super(); }, someOtherMethod: function() { return ‘widget B’; […]

用对象覆盖jquery ui widget字符串选项

我希望jquery ui widget选项默认为字符串,但我希望它能够被一个对象覆盖。 当我这样做时,我实际上以一种奇怪的方式将字符串转换为对象,然后使用我传入的任何对象进行扩展。 $.widget(“ui.test”, { options: { anOption: “a,b,c” }, _create: function() { console.log(this.options); } }); $(‘div’).test({ anOption: { a: ‘A’ } }); 如果我跳过将小部件的选项传递给它,它将在_create方法中作为字符串接收。 如果我传入一个对象,就会发生奇怪的行为。 在chromes js控制台日志中我得到了这个,这不是我想要的。 Object anOption: Object 0: “a” 1: “,” 2: “b” 3: “,” 4: “c” a: “A” 我该如何解决这个问题? jsfiddle: http : //jsfiddle.net/MatteS75/s9wK2/

jQuery插件与小部件

几个月前,我开始用jQuery插件进行一些实验。 我在Interenet上找到了一些教程,我开始把一些东西放在一起。 几天前我需要建立自己的“插件”并回到我原来的项目中。 为了在互联网上找到更多的信息,我碰到了这些叫做小部件的新“事物”。 根据我的理解,我应该忘记插件并开始开发小部件。 插件是旧概念还是仍然有效? 如果需要带接口的自定义jquery控件,最好的方法是什么? 我正在广泛使用jQuery UI。

从外部窗口小部件访问窗口小部件

这是一个简单的小部件模拟: (function ($) { $.widget(“ui.myDummyWidget”, { options: { }, _create: function () { }, hide: function () { this.element.hide(); }, _setOption: function (key, value) { $.Widget.prototype._setOption.apply(this, arguments); }, destroy: function () { $.Widget.prototype.destroy.call(this); } }); } (jQuery)); 它只添加了一个方法hide,可以调用它来隐藏元素。 如果从小部件内完成,则很容易 this.hide(); 但常见的情况是您希望从外部调用窗口小部件实例上的方法(Ajax更新或其他外部事件) 那么访问小部件实例的最佳方式是什么? 一种方法是将小部件的引用添加到元素中,丑陋…… _create: function () { this.element[0].widget = this; }, 然后你可以从外面访问它 this.dummy = $(“#dummy”).myDummyWidget(); […]

如何让input元素触发jQuery自动完成小部件?

我有几个使用jQuery自动完成function增强的输入字段。 触发选择事件时如何获取相应的输入字段? $(‘input[type=text]’).autocomplete({ source: ‘suggestions.php’, select: function(event, ui) { // here I need the input element that have triggered the event } });

如何更改这个jQuery小部件(为jQueryUI 1.7编写),以便它可以与jQueryUI 1.8一起使用

这个jQuery插件允许用户在div中绘制矩形,可以使用jQueryUI 1.7.2。 我需要使用jQueryUI 1.8.4 。 从阅读小部件升级指南 ,我无法找出需要改变的内容。 我尝试将_init()重命名为_create(),但是没有做任何事情。 还有什么需要改变才能让它发挥作用? 谢谢阅读。