我有一个可以在我的网站上点击的添加到购物车按钮。单击该按钮时,可能会发生一些操作。默认操作是将项目添加到购物车,然后显示一个说明[#] item(s) added to your cart
的警告框。但是在其他情况下,如果一个人没有选择一个选项,它也会提醒他们。
我想要做的是覆盖这些警报并显示我自己的警报。我必须根据警报中显示的文本来显示要显示的警报。
例如,如果某人想要购买商品并点击添加到购物车。将显示以下内容:[#] item(s) added to your cart
。在这种护理中,警报具有item(s) added to your cart
然后我想要运行某个JS功能。
我该怎么做?
我找到了以下代码:
(function() {
var proxied = window.alert;
window.alert = function() {
// do something here
return proxied.apply(this, arguments);
};
})();
这将让我在警报框打开时运行一个功能,但它1)不会阻止显示原始警报框; 2)我需要根据警报文本运行特定功能。
正确方向的任何指导和帮助都是有帮助的。也欢迎这样的例子。
注意:我使用的是jQuery 2.1.1。
答案 0 :(得分:0)
您的替换函数应该参数,并根据文本检查它以执行不同的操作。为防止显示原始提醒框,请勿拨打proxied.apply
。
(function() {
var proxied = window.alert;
window.alert = function(text) {
if (text.indexOf("added to your cart")) {
// do something here
} else {
// do normal alert
return proxied.apply(this, arguments);
}
};
})();