Mec*_*ash 15 javascript jquery confirm function
我有以下内容
$("element").click(function() {
var foo=bar;
if ( foo == "bar" ) {
confirm('Dialogue');
}
});
Run Code Online (Sandbox Code Playgroud)
但我想加强确认功能.我已经试过了
$("element").click(function() {
var foo=bar;
if ( foo == "bar" ) {
var confirm=confirm('Dialogue');
if (confirm==true) {
alert('true');
} else {
alert('false');
}
}
});
Run Code Online (Sandbox Code Playgroud)
但是没有生成确认框.我怎么能做到这一点?
epa*_*llo 23
你有一些问题.第一个问题是您使用名称定义变量confirm.不好!将其重命名为isGood或其他内容.
另一个错误就在这里:
if (confirm=true) {
Run Code Online (Sandbox Code Playgroud)
confirm=true 是任务,而不是比较.
它需要
if (confirm==true) {
Run Code Online (Sandbox Code Playgroud)
要不就
if (confirm) {
Run Code Online (Sandbox Code Playgroud)
所以你的代码会是这样的
var bar = "bar";
$("button").click(function() {
var foo=bar;
if ( foo == "bar" ) {
var isGood=confirm('Dialogue');
if (isGood) {
alert('true');
} else {
alert('false');
}
}
});
Run Code Online (Sandbox Code Playgroud)
Fat*_*hra 12
if( !confirm('Are you sure you want to continue?')) {
return false;
}
Run Code Online (Sandbox Code Playgroud)
关于比较的所有注释都是正确的,但是,未显示确认对话框的原因是您正在擦除确认框对象.
更改confirmvar 的名称.
$(element).click(function() {
var confirm1 = confirm('Dialogue');
if (confirm1) {
alert('true');
} else {
alert('false');
}
});
Run Code Online (Sandbox Code Playgroud)
相比之下,这个不起作用.
$(element).click(function() {
var confirm = confirm('Dialogue');
if (confirm) {
alert('true');
} else {
alert('false');
}
});
Run Code Online (Sandbox Code Playgroud)
当您在函数中的任何位置声明变量时,它会自动"拉"到顶部作为局部变量.当您将confirm作为函数调用时,它首先找到局部变量(尚未定义),并且不会将范围链向上移动到window函数所在的位置.
$("element").click(function() {
var foo=bar;
if ( foo == "bar" ) {
var confirm=confirm('Dialogue');
if (confirm==true) {
alert('true');
} else {
alert('false');
}
}
});
Run Code Online (Sandbox Code Playgroud)
是相同的
$("element").click(function() {
var foo=bar, confirm = undefined;
if ( foo == "bar" ) {
confirm=confirm('Dialogue');
...
});
Run Code Online (Sandbox Code Playgroud)
您可以1)重命名您的变量,2)调用window.confirm("Dialog")告诉它您想要全局函数而不是局部变量或3)只需将确认调用放在if中
$("element").click(function() {
var foo=bar;
if ( foo == "bar" ) {
if (confirm('Dialogue')) {
alert('true');
} else {
alert('false');
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63312 次 |
| 最近记录: |