Взгляните на последующих HTML и JS:Script Работает Неверная функция
HTML:
<button onclick="alertFunction()">Choose Option Modal (Button 1)</button>
<button onclick="alertFunction2()">Veloce Modal (Button 2)</button>
JS:
function alertFunction() {
alert("Please choose relevant options before adding to cart.");
}
function alertFunction2() {
alert("item(s) added to your cart");
}
$(function() {
(function() {
window.alert = function(text) {
if (text.indexOf("Please choose relevant options before")) {
console.log('Choose an Option Modal Open (Button 1)');
} else if (text.indexOf("item(s) added to your cart")) {
console.log('Veloce Modal Open (Button 2)');
}
};
})();
});
В приведенном выше сценарии, если я нажимаю на кнопку, либо 1 или 2, срабатывает предупреждение. Затем текст предупреждения берется JS, и мы проверяем текст предупреждения. Если текст содержит определенные слова, тогда функция запускается, в этом случае только console.log
.
Проблема у меня есть, когда я нажимаю кнопку 1 console.log
для кнопки 2, что показывает. То же самое происходит, если я нажму кнопку 2, появится console.log
для кнопки 1.
Какая у меня ошибка и как исправить проблему?
Here is a JSFiddle с рабочим примером проблемы.
почему вы перезапись 'window.alert'? –
'indexOf' делает * нет * возвращает логическое значение. Он возвращает * index * в строке или '-1', если он не найден. –
@ k-nut - Когда кнопка нажата в моем магазине eCommerce, моя CMS отвечает предупреждением. Я переоцениваю это поведение и демонстрирую свой собственный модальный подход. – L84