Ker*_*ter 2 javascript jquery magento
我想要替换Magento的alert()和confirm()对话框的实现.虽然alert()替换是微不足道的,但我不确定如何处理confirm()对话框.有没有办法阻止JavaScript继续,直到返回一个函数?这是否需要可能导致浏览器崩溃的循环?
所以例如,我需要替换这样的代码:
<form action="" method="POST">
<input type="submit" onclick="return confirm('Are you sure?');" value="Delete">
</form>
Run Code Online (Sandbox Code Playgroud)
与...
<form action="" method="POST">
<input type="submit" onclick="return myCustomConfirm('Are you sure?');" value="Delete">
</form>
Run Code Online (Sandbox Code Playgroud)
或其他场景,例如:
<script>
var delete = confirm('Are you sure?');
if (delete) {
doSomething();
}
</script>
Run Code Online (Sandbox Code Playgroud)
与...
<script>
var delete = myCustomConfirm('Are you sure?');
if (delete) {
doSomething();
}
</script>
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,myCustomConfirm()将打开一个Bootstrap模式,用户必须单击"Okay","Cancel"或关闭模态.如果"Okay",则返回true,否则返回false.
我不想做回调,因为这会导致更多的重构而不是理想的.这有可能以另一种方式吗?
谢谢!
这不可能.您不能编写阻止执行的JavaScript函数,收集用户输入并根据用户输入返回值.阻止执行和等待用户输入的唯一方法是使用confirm.
如果要使用自定义对话框,则必须重构代码以使用回调.