问题标签 [jquery-ui-widget-factory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
10794 浏览

jquery-ui - requirejs + jqueryui = $.widget 未定义

我正在使用requirejs + jquery + jqueryui。我已经阅读了大量有关如何执行此操作的示例。我想我了解各种方法,在我看来我的设置应该可以正常工作。但是,我偶尔会在依赖 jquery-ui 的自定义模块中收到$.widget is not defined错误。这很痛苦,因为它不一致且难以重现,因此我很难测试替代方法。

我没有填充我所有的 jquery 插件,因为有很多。相反,我使用单独的 requirejs 调用加载 jquery。然后,在回调中,我加载了其余的东西。这样我就不必为我的所有 jquery 插件维护一个垫片列表。

对于 jquery-ui,我使用 shim 使其依赖于 jquery。然后我所有使用小部件工厂的自定义模块在其依赖项列表中都有'jquery-ui'。

在我的模板中...

请注意,我在 mypage.js 之前加载 site.js。他们有一些共享的依赖关系。在我的构建配置中,我从 mypage.js 中排除了 site.js,因此共享依赖项被编译到 site.js 而不是 mypage.js。因此,我需要在加载 mypage.js 之前完全加载 site.js,否则 require 可能会尝试单独加载这些共享依赖项。

这是我的一个示例自定义模块,它依赖于 jquery-ui。

错误 $.widget is not defined 是由这个和我的类似自定义模块的第 5 行引起的。同样,它确实不一致且难以重现。通常情况下,即使我清除了缓存,我也不会收到错误消息。谁能想到在 jquery-ui 完全加载之前执行第 5 行的方法?

2013 年 8 月 16 日更新

我已经能够更多地追踪这一点。我创建了一个依赖于 jquery 和 jquery-ui 的简单模块。

其输出如下:

所以不知何故,全局 jQuery 对象定义了小部件,但 requirejs 提供给我的副本没有。

0 投票
1 回答
1591 浏览

javascript - 将函数对象引用作为序列化 json 传递

我已经使用 jquery 小部件工厂编写了一些小部件。通常,我使用 JavaScript 代码块中的小部件构造函数传递选项和回调引用。

现在我想在自动生成的 html 页面中使用小部件并将选项传递给它们而不使用 JavaScript 块。我在嵌入式 json 中指定了一个常见的 JavaScript 代码块解析并将其传递给小部件的选项。

如何将保留其范围的函数对象以 json 格式传递给小部件?然后,小部件将在满足条件时调用指定的函数。

谢谢你的帮助。

0 投票
1 回答
1626 浏览

jquery - How to set the options in jQuery widget Factory with values from server side variables(JSON file)

I want to set the options for widget with JSON file variable values? How can I do it plus how do I pass the json file to the client side?

The code is being copied from the jQueryUI Widget Factory

0 投票
1 回答
370 浏览

javascript - 是否无法为 $(document) 上的 jqueryui/jqm 小部件事件设置 on() 侦听器?

我正在尝试设置一个全局事件绑定器,$(document)它根植于我的所有核心应用程序功能。

我正在使用一些 jQueryUI 小部件(来自 jQuery Mobile),并希望我也可以在我的全局处理程序中包含小部件事件。

所以我正在尝试这样做:

但是,这不起作用。我可以在我的小部件input事件上设置单击和更改侦听器,但filterablebeforefilter不能这样设置。至少我不能让它工作。

JQM演示仅指定直接绑定:

问题:
但我想知道是否没有办法将事件附加到document

谢谢!

0 投票
2 回答
1052 浏览

javascript - 我是否需要在 JQuery Widget 中的每个函数的开头定义“self”、“element”等

我创建了类似这样的 JQuery 小部件

我总是不得不在我创建的每个函数中声明self, 。optionselement

是否有一些基本的理解我错过了,或者我真的必须一直这样做?

0 投票
1 回答
226 浏览

javascript - 创建一个 jQuery UI 插件:IIFE 和返回对象

我正在尝试创建一个小 jQueryUI 插件,允许用户在div#canvas. 该插件扩展ui.mouse并负责附加一个助手,以可视化绘制矩形的过程,但它实际上并没有渲染它

相反,它应该返回一个boxProperties对象,但我无法做到这一点。我对 IIFE 还很陌生,还没有完全掌握闭包,但我怀疑解决方案就在那里。我已经尝试了一些东西,但由于缺乏适当的知识而无法实现任何目标。

问题是div#canvas (绘制矩形的地方),实际上是 aMarionette.CollectionView并且矩形本身将被Marionette.ItemView动态添加到 collectionview 中,一旦绘制它们就会呈现它们。

我应该在我的代码中添加什么,以便在绘制矩形后立即返回一个 boxProperties 对象,以便我可以将它传递给矩形 ItemView 以使其呈现?

这是我的插件代码

0 投票
1 回答
129 浏览

jquery - jquery 小部件:将事件附加到特定元素

以下是小部件的片段:

问题是如果this._loadComments(somedata);有两条记录,然后如果我在 textarea 内按下键alert('ta pressed');被调用 2 次,如果是 10 个数据,则被调用 10 次。它不应该这样发生。它应该只为单个文本区域调用一次警报消息。

如何将事件附加到单个元素?我想在这里我将事件附加到所有文本区域,这就是原因。

如果我像onkeypress='_this._somefunction()'它说的那样添加内联事件,_this is undefined但它就在那里。

0 投票
2 回答
314 浏览

jquery - 在 jquery ui 小部件内维护范围

我在小部件内失去范围时遇到问题。在 _initialize 内部,this.options不起作用,that.options. 如何从此方法访问小部件的范围?

澄清

不起作用,当我在 _initialize 中 console.log 时,我得到

0 投票
1 回答
120 浏览

jquery - 世界上如何在自定义 jQuery-Ui 小部件中绑定“触发”事件?

我正在尝试将此插件集成到我的应用程序中:https ://github.com/mar10/jquery-ui-contextmenu/blob/master/jquery.ui-contextmenu.js

我完全困惑于右键单击与初始化元素上的委托选择器匹配的元素最终会在绑定元素上触发“contextmenu”事件......我一直在阅读这段代码 HOURS仍然没有看到类似的东西:

或类似的东西..我没有看到对 event.which() (用于鼠标按钮检测)等的引用。

我可以在第 79 行看到自定义“contextmenu”事件绑定到委托,但我在代码中没有看到任何地方显示此自定义在右键单击元素时实际上是如何被触发的......

由于我看不到任何触发代码..我假设 jQuery-UI 小部件工厂以某种方式“自动”进行触发..但这仍然引出了问题,这个插件如何告诉 jquery-ui 框架,“使用右键单击事件作为我的“触发器””?

这到底是怎么工作的??????请帮忙!

0 投票
1 回答
204 浏览

jquery - 直接访问 jQuery 小部件工厂插件方法

使用 jQuery 小部件工厂,我想在内部测试调用方法。我怎样才能公开这些方法来监视它们?

我正在寻找引用小部件插件对象(在此处表示,WidgetPluginObject因此我可以监视它的方法。

更新

这是为了使用 mocha/chai 进行单元测试;不适用于任何类型的调试。