我正在搜索一个事件jquery,当用户在页面上的某处写东西时开始。我发现.change()
但它无法正常工作。
当用户更改页面内容时,我尝试创建一个变为true
的标志。之后,我使用此标志显示弹出窗口。
所以我有变量和事件的代码:
<script>
var flagChange = false;
$(window).change( function(){
alert ('je suis ici');
flagChange = true;
});
</script>
我在这段代码上使用了这个:
<script>
if(flagChange)
{
$(window).on('beforeunload', function(){
return 'Les données non sauvegardées seront perdues. Voulez-vous vraiment quitter ?';
});
}
</script>
但弹出窗口从未显示过。 有人能帮帮我吗?
答案 0 :(得分:3)
试试这个:
<script type="text/javascript">
jQuery(function($) {
window.flag = false;
$(document).on('keyup', function() {
window.flag = true;
});
$(window).on('beforeunload', function() {
if(window.flag) {
return 'Les données non sauvegardées seront perdues. Voulez-vous vraiment quitter ?';
}
});
});
</script>
答案 1 :(得分:1)
$(window).change(function(){ 警报('je suis ici'); flagChange = true; });
这是不正确的。您需要为每个输入设置 .change()。
在此处阅读更多文档:https://api.jquery.com/change/