问题标签 [jquery-3]

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

javascript - jQuery 3.0 deferred 在调用 resolve 时不执行 then 回调

我正在尝试使我的库在 jQuery 3.0 中工作,但由于 Deferred 对象中的重大更改而无法工作,我有这样的代码:

我有两种方法暂停和恢复

需要延迟,因为我在创建 command_line 对象之前执行暂停。

我在第一次暂停后调用解决:

以及这样的日志顺序:

顺序应如下所示:

为什么在调用解析后很长时间才调用暂停然后回调?它在 jQuery 2 中工作。

0 投票
2 回答
229 浏览

javascript - 图像数组循环 JS CSS

我试图将图像放置在 div 中,以便可以控制 h/w,我似乎可以让它与 jquery 3.2.1 一起使用它只适用于 jquery 2.1.1,有没有更好的写法这段代码,我试图简单地单击“下一步”div并使用循环更改图像。

0 投票
1 回答
121 浏览

javascript - 当从 Ajax 调用内容时,JQuery .on 不起作用

我有一个问题,我看到很多人都解决了,但似乎没有一个解决方案对我有用。也许这是我的方法。

我有一个编辑页面(用于一个Album),在其中,它有一个foreach插入一个Partial View. 编辑页面旨在显示Genres的动态列表Album,它当前可以添加新的下拉(部分视图),选择并保存(在控制器中)。

我可能想补充一点,这是使用 JQuery 3.x 的带有实体框架的 MVC

Edit.cshtml查看(注意@foreach (var albumGenre in Model.AlbumGenres)和后来的 Ajax 链接@Ajax.ActionLink():

从那里我可以_EditGenre.cshtml看到:

下面是我的AddGenre.js脚本:

首先是.dialog部分:

然后是.on('click'...部分(这是在将 Ajax 内容添加到页面时不被调用的部分):

简而言之,我可以打开此编辑页面,单击+添加新类型(在模态窗口中),通过 JavaScript 更新所有下拉菜单(并让适当的下拉菜单选择新选项),对此感到满意。但是,我无法单击Add Genre to Album(Aja​​x 调用),然后单击+新的流派下拉菜单旁边的,它导航到_CreateGenre我希望它打开模态窗口的时间(JavaScript/jQuery 没有触发)。

$('#GenreRow').on('click', '.genreLink', function () {没有被解雇,我不知道如何让它做到这一点。另一个示例,console.log('JavaScript test');通过 Ajax 从部分视图加载内容时不会触发添加。

0 投票
3 回答
1168 浏览

javascript - 在动态创建的选择上添加点击事件

我做了这个示例代码:https ://jsfiddle.net/gwpcfp89/

问题是关于这个点击事件:

我使用#input1, #mytext1,并且我希望点击是动态的。例如:如果我在表中创建四个选择,则第四个选择应该像第一个选择(#input4#mytext4)一样具有单击事件。

可能吗?

0 投票
0 回答
615 浏览

javascript - 为什么加载事件有时会在 jQuery 3.x 中的就绪事件之前触发?

我试图了解在 SO 上阅读有关它的其他主题,但我找不到明确的答案。

我还检查了https://api.jquery.com/ready/https://api.jquery.com/load-event/

当然,它并不总是发生。

加载前准备好无内容

准备好后加载带图像)-但仅在您第一次访问该笔时,当您刷新它时(或者您有良好的互联网连接并且您在 1ms 内下载 1MB ;))-加载事件将在准备好之前触发,因为您已经有了该图像在浏览器缓存中。

我知道如何部分“解决”这个问题,但我更感兴趣的是它为什么会发生。

可能的修复:

但是这个“修复”并不是万无一失的——见代码注释

0 投票
1 回答
59 浏览

javascript - 抛出错误的顺序?

我有一个函数,在发生错误时(例如“超时”)应该抛出一个错误,我在承诺链的末尾捕获它。

具体来说,我遇到了超时问题。代码到达投掷。我扔的球实际上没有被抓住,但有些东西被扔了。Catch 捕获包含此 Object 的错误{"readyState":0,"status":0,"statusText":"timeout"}

我不明白。扔什么?

0 投票
1 回答
27 浏览

javascript - 在记录编辑期间检查下拉列表中的现有选择

我在网格中有一些可由用户编辑的行。当用户单击网格行中的编辑按钮时,我将显示一个多选下拉列表(“ddlEditRegionList”),其中包含可供选择的选项。当显示此下拉列表时,我想保持已保存的选择处于选中状态。

我正在尝试使用下面的代码片段,但这确实得到了我现有的选择。

请注意,我使用的是 jquery-3.2.1

0 投票
1 回答
723 浏览

javascript - 如何停止模式中所有控件的传播

由于我发现 angularjs 和 bootstrap 中的模态缓存很烦人,因此我发现这篇文章“ $modal caching ”将一种版本添加到模态的 url 中,这样可以避免缓存内容中的新变化模态的,但是由于我这样做时,当我单击按钮打开模态或模态内的任何控件时,我总是 Uncaught TypeError: Cannot read property 'toLowerCase' of undefined at ih.js:223从第 223 行的 jquery-3.1.0 库中收到此脚本错误。

按钮打开编辑部(我的)

产生错误的 jQuery 库中的 jQuery 方法

我调试了代码,从我单击按钮打开模态的那一刻起,在我的模态内部的保存按钮或任何其他控件(如简单的复选框或单选按钮)上它从 Jquery 转到此代码while (target && target.tagName.toLowerCase() !== 'a'),我认为(如果我错了,请纠正我)正在冒泡。它开始评估包含该控件的所有 HTML 元素,直到到达没有属性 tagName 的元素 #document 并生成错误。

我开始在所有控件上放置onclick="event.stopPropagation();"效果很好的控件,但我开始污染模态控件中的所有控件。

有没有办法阻止所有内部控件从模态或代码中的传播以打开模态,或者我可以停止从 CSS 冒泡吗?

编辑

该错误是由于我最近安装的一些 chrome 扩展造成的。我卸载它们并重新启动浏览器,问题就消失了。

0 投票
0 回答
124 浏览

javascript - 使用 jQuery 3.0 调试异常

我最近从 jQuery 2.4.1 升级到 3.2.1,现在我注意到在文档准备处理期间发生的任何异常(内部$(function() { ... }))而不是提供适当的回溯并允许我检查局部变量/调用堆栈现在在 jQuery 中中断代码并且没有任何可用的调试信息:

在此处输入图像描述

这是已知的行为吗,除了切换回旧的 jQuery 进行调试之外,是否有任何解决方法?

0 投票
2 回答
156 浏览

javascript - .on() 之后的 jQuery 3.x .off()

我只是在 .on() 方法之后将 .off() 方法用于 .click() 方法。
我真的很困惑为什么 click() 事件会触发!