问题标签 [jquery-widgets]

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 投票
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 回答
116 浏览

javascript - JQuery 小部件:在子小部件中设置上下文

我有一个小部件,它基本上在一个元素上创建一个 JQuery 日期选择器,然后处理从 Web 服务检索数据并根据返回的数据启用/禁用日期。

小部件的定义如下 - 一些简单的默认选项:

构造函数看起来像这样,它在元素上创建日期选择器,然后设置用于检索数据和处理(启用)日期的函数:

processdate 函数如下所示:

但是,当调用 processdate 时,上下文不在小部件中,因此我无权访问这些选项。我这样做是否正确,或者有没有办法重载 processdate 函数,以便在为 beforeShowDay 设置回调时,我可以传入选项,它不会覆盖 JQuery 将传递给该函数的日期值?

0 投票
1 回答
526 浏览

jquery - 在页面上的所有实例的初始化期间只为 jQuery 小部件运行一次代码

对页面上的所有实例只运行一次初始化小部件的代码时遇到一些问题。

这是我的情况...

我必须在小部件初始化期间加载 JS 文件。目前我在内部_create()方法中执行此操作。但是当我尝试在页面上放置 2 个或更多实例时,小部件会尝试多次加载相同的 JS 文件。这当然不好......所以我需要一些同步机制。

任何想法如何更好地同步它?

我正在考虑一些机制,它允许在加载的某些智能 JS 的页面上为所有小部件的实例只运行一次代码,不会两次加载相同的文件,并且只是控制加载过程并在过程中通知所有感兴趣的部分完成了。

更新

在小部件中加载一些 JS 文件实际上存在 2 个问题:

  1. 仅加载文件一次
  2. 通知所有小部件的实例 JavaScript 代码已准备好使用

JS 文件中的 JavaScript 代码可能会在小部件初始化期间使用,因此我需要通知小部件它已正确加载并准备好使用。

0 投票
0 回答
473 浏览

javascript - jQuery小部件功能没有被调用

更新: 很抱歉这个冗长的愚蠢问题。这是我的选择器的问题。无视帖子!

我有一个具有公共功能的小部件。我通常可以这样称呼:

问题:

但在某些情况下,该函数没有被调用。

这里有一些琐事

  • 我的小部件源自我创建的另一个(基本)小部件。
  • 为基本小部件调用时,相同的功能起作用
  • 该函数不会在子小部件中被覆盖。
  • 相同的函数适用于同一父级的另一个子小部件,其代码与我前面提到的相同,除了小部件的名称和 DOM 元素。

现在,这里有一些重要信息。

问题小部件中的类似函数有效,当我进入调用时,我发现jquery-ui.js中以下函数中的两个调用存在差异:

在这里,对于我没有被调用的函数,它不会进入那个this.each. 当我检查this指针时,有区别。对于被调用的函数,其内容this如下:

但是对于没有被调用的函数,缺少第一项和长度属性。

可能是什么问题呢?

0 投票
1 回答
757 浏览

javascript - 将 jQuery UI 滑块添加到旧版本的 jQuery UI

我在使用 jQuery 1.8.2 版和 jQuery UI 1.8.10 版的环境中工作。

我想使用 jQuery UI Slider 小部件。它不包含在我们当前使用的 $.ui 版本中。我尝试覆盖 $.ui 版本,但它不起作用,直到我也用较新版本覆盖 jQuery。

我对来回的依赖关系感到困惑。难道没有一些简单的方法可以使用滑块小部件扩展我当前版本的 jQuery UI 吗?

0 投票
1 回答
129 浏览

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

以下是小部件的片段:

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

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

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

0 投票
2 回答
73 浏览

jquery - 获取 jQuery 对话框对象的列表

我有一个通过 Ajax 加载其内容的 jQuery 对话框。

然后,已加载到对话框中的视图需要将方法附加到 jQuery 对话框对象的事件中。

我不知道该怎么做。我尝试使用$("#myelement").closest("div.ui-dialog")(确实有效),但它不允许我挂钩它closeresize事件。

有没有办法(给定最初创建对话框的 div 的 ID)来访问原始 jQuery 对话框对象?

0 投票
1 回答
283 浏览

jquery - jQuery 小部件、_on() 方法和 Rails ajax 回调

Rails 提供了开箱即用的不同 ajax 事件。(更多信息可以在这里找到——https: //github.com/rails/jquery-ujs/wiki/ajax,源代码可以在这里找到——https: //github.com/rails/jquery-ujs/blob/master /src/rails.js#L125 )

现在我有一个自定义小部件,它_on()定义了两种方法。这是相关的代码片段:

_on()我到了可以有两种方法并且两种方法都有效的地步。第一个监听内部发生的所有事件document(所以如果我有一些非常琐碎的click *事件,它会起作用),第二个监听只监听在小部件中触发的事件。

如果我将 rails 回调直接绑定到$(document).ready函数中的元素,一切正常。当我尝试将 rails 的事件侦听器和其他类似事件添加到第一种方法时,问题就开始ajax:beforeSendajax:success——_on()它根本不起作用。

任何想法如何将 Rails 事件与 jquery-ui 小部件事件侦听器结合起来?谢谢。

0 投票
1 回答
894 浏览

javascript - 自动完成功能不适用于 jQuery v1.8.3(版本)

我的 jQuery Autocomplete 在 jQuery 版本 1.9 上运行良好,但是当我使用 jQuery v1.8.3 时,它会显示错误:

由于其他功能也受到干扰,我无法将我的 jQuery 版本从 v1.8.3 更改为 1.9。如何在这个 jQuery v1.8.3 版本中使用 jQuery 自动完成功能?我说的是这个Autocomplete

这是我的代码:

当我将上述 jQuery 文件与 1.8 版本一起使用时,它无法正常工作,显示错误:

0 投票
1 回答
205 浏览

jquery - jquery:小部件没有破坏正确重新应用

这是 jQuery 小部件代码:

我在这里调用这个小部件:

问题是“添加回复”显示的次数与我单击“显示小部件”按钮的次数一样多。实际上,它应该只显示我在 Teaxtarea 中按 ENTER 键的次数。我认为小部件没有正确地破坏自己。

检查 jsFiddle