我有这个代码:
HTML:
<div id="wrapper">
<div>d</div>
<div>s</div>
<div>w</div>
</div>
JS:
window.onbeforeunload = function(e) {
$('#wrapper>div').each(function(k,v) {
if($(this).text() == 's') {
return 'aaaa';
}
});
}
http://jsfiddle.net/edhvkhg7/2/
当我尝试关闭 Chrome 选项卡时,不会出现确认弹出窗口。为什么?
最佳答案
您只是从迭代函数返回,而不是从 beforeunload
处理程序返回。 jQuery 对函数返回值所做的唯一事情是测试它是否为 false,并停止迭代。它不会从包含函数中返回。
window.onbeforeunload = function(e) {
var return_val = null;
$('#wrapper>div').each(function(k,v) {
if($(this).text() == 's') {
return_val = 'aaaa';
return false; // End the loop
}
});
return return_val;
};
关于javascript - jQuery.each 在 window.onbeforeunload 函数中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32150889/