javascript - 当第一个函数完成 W/O 回调参数时执行第二个函数

标签 javascript jquery html css events

背景:我正在通过 VWO 为网站运行 A/B 测试。我可以编写一个在页面加载时运行的脚本,但我无法访问网站的任何现有脚本或以任何方式更改它们的代码,除了在 JS 中“覆盖”(例如删除 div、更改 CSS 属性、附加 div)之后页面加载。

问题:当页面加载时,有一个空的 <div id="priceinfo"></div> .在页面的其他地方,有一个 <a href="javascript:RequestPriceInfo()" id="requestPrice"><img ...></a> .里面RequestPriceInfo() , 函数输出 HTML 到 div#priceinfo基于页面上的某些表单字段值。它还附加了一个“订购”按钮(实际上根本不是按钮,而是嵌套在 anchor 标记中的图像)。我正在尝试使用 JQuery 的 attr() 更改“按钮”图像的来源功能。

进展:无。我试过使用 $('a#requestPrice').click(function() {...} );但是改变图像的来源是行不通的,我想是因为当 a#requestPrice 时内容还没有立即加载到页面上。单击并运行我的函数。我需要一种方法来判断何时 RequestPriceInfo()已被解雇并完成,但 RequestPriceInfo() 上没有回调参数而且我无权访问脚本来更改它并添加一个。

可能有用的信息:有一个变量,priceRequested , 当 RequestPriceInfo() 时从 false 变为 true运行。虽然我没有意识到这个解决方案会很优雅,但使用 Object.prototype.watch() 似乎不合理监控变量,但我的想法已经用完了。

我如何检测 RequestPriceInfo() 何时是否已完成执行我的函数而不编辑函数以添加回调参数?

最佳答案

使用 CSS 怎么样...您的脚本可以向 <div id="priceinfo"></div> 添加一个类,也许像<div id="priceinfo" class="newButton"></div> .然后,在 CSS 中,您将隐藏 #priceInfo.newButton 的 img。并插入您的新图像作为 anchor 的背景图像。

关于javascript - 当第一个函数完成 W/O 回调参数时执行第二个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35442342/

相关文章:

javascript - 使用 jquery 取消选择已激活的列表项并默认激活另一项

javascript - TypeError : $(. ..).modal 不是我的脚本中的函数

javascript - php显示登录状态消息不更新

CSS 容器 DIv 高度。 float DIV问题

javascript - 外部 API 数据 ---> HTML 服务输出为图表/表格

javascript - 如何将这些重复的 JavaScript 代码缩短为循环?

javascript - 错误的复选框触发脚本的问题

javascript - 如何使用 jquery 向下滚动页面刷新?

javascript - 是否正在创建多个对象?

javascript - 同步时排除模型属性 (Backbone.js)