你如何明确地检测用户是否按下了浏览器中的后退按钮?
如何使用#URL系统在单页Web应用程序中强制使用页内后退按钮?
为什么地球上没有浏览器按钮触发他们自己的事件!?
我正在做php的在线测验应用程序.我想在回到考试时限制用户.我尝试过以下脚本,但它会停止我的计时器.我该怎么办请建议我.我已经包含了源代码.计时器存储在cdtimer.js中
<script type="text/javascript">
window.history.forward();
function noBack()
{
window.history.forward();
}
</script>
<body onLoad="noBack();" onpageshow="if (event.persisted) noBack();" onUnload="">
Run Code Online (Sandbox Code Playgroud)
我有考试计时器,它从mysql数据库中获取考试时间,并相应地启动计时器,当我把代码禁用后退按钮时它停止.会是什么问题.
请注意,在Google的主页上,不关注任何元素,按BACKSPACE会将焦点放入搜索工具栏而不是向后导航.
我怎么能做到这一点?
我的应用程序中的用户一直遇到此问题.他们没有专注于任何元素,并点击BACKSPACE将其抛出应用程序.
我想在JavaScript中使用键盘输入,其中箭头键在按下时将导致特定形状的形状发生变化.如何获取JavaScript中任何键的输入?
我正在编写一个表单,我需要像stackoverflow这样的函数:"你已经开始编写或编辑帖子了."
我已经查看了stackoverflow的代码,看看他们是如何做到这一点的,但我根本没有把它应用到我的简单表单中.这就是他们对question.js的看法:
function initNavPrevention(b) {
if (b.which == "undefined") {
return
}
var a = $("#wmd-input");
a.unbind("keypress", initNavPrevention);
setConfirmUnload("You have started writing or editing a post.", a)
}
Run Code Online (Sandbox Code Playgroud)
其中一个函数触发了这个(我不知道c是什么):
if (c) {
e.keypress(initNavPrevention)
}
Run Code Online (Sandbox Code Playgroud)
最后他们必须setConfirmUnload(null);禁用它我想.
我的情况很简单.我有一个页面,我加载了一个<form />通过AJAX,我想阻止加载此表单离开页面而不点击SUBMIT按钮或如果用户单击取消,表单被禁用,预防将不会弹出.
拥有此代码,有人可以告诉我如何将其包含在我的网站上吗?
这是我加载表单的AJAX函数:
$("#projects_historics_edit_part_1").click(function(){
$("#ajax-loader").fadeIn('normal');
$.ajax({
url: BASE_URL + 'projects/ajax/get_historics_edit_part_1/' + PROJECT_ID,
type: "POST",
success: function(data) {
$("div#projects_historics_part_1").html(data);
$("#client").autocomplete(client_autcomplete_options);
var inicofin = $("#initdate, #findate").datepicker(initdate_datepicker_options);
}
});
$("#ajax-loader").fadeOut("normal");
return false;
});
Run Code Online (Sandbox Code Playgroud)
先感谢您!
我在AngularJS webapp中遇到了这个问题.
当用户输入带有要填写的表单并且他开始键入的页面时,如果他按下退格键并且焦点不在输入文本上,则页面将进入先前状态.
我使用jQuery 查找了这个解决方案,但它似乎不适合在AngularJS中实现这一点.
当用户在浏览器上按退格键时,有没有办法阻止默认操作发生?我不需要阻止用户离开,只需要进行默认的退格操作.我需要退格键做一些不同的事情(这是一场游戏).
我尝试没有成功:
window.addEventListener('keydown', function(e) {
if (e.keyCode === Game.Key.BACK_SPACE)
{
e.preventDefault();
e.stopPropagation();
return false;
}
}, false);
Run Code Online (Sandbox Code Playgroud)
如果我在if内部发出警报,则会显示退格键按下警报.所以,keyCode是正确的.
编辑:这必须适用于Opera 10.6,Firefox 4,Chrome 6,IE 9和Safari 5.
这是部分代码,而不是完整版.
我有一个突出显示特定html元素的荧光笔mouse hovers.
我也有click event and listener.
我的问题是:highlighter event/listener使用Internet Explorerv6 v7 v8 v9 时不会分离
我究竟做错了什么?
这是我如何附加事件并启动事件监听器:
if (document.body.addEventListener) {
//alert(11);
document.body.addEventListener('mousemove', handler, false);
} else if (document.body.attachEvent) {
//alert(12);
var ff=function(e) {
return handler(e || window.event);
};
//alert(ff);
document.body.attachEvent('onmousemove', ff);
} else {
//alert(13);
document.body.onmousemove = handler;
}
Run Code Online (Sandbox Code Playgroud)
这就是我停止onmousemove/mouse事件/监听器的方法:
if (document.body.removeEventListener) {
document.body.removeEventListener('mousemove', handler, false);
} else if (document.body.detachEvent) {
document.body.detachEvent('onmousemove', function(e) {
return handler(e || window.event);
});
} else {
document.body.removeAttribute("onmousemove"); …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Biff MaGriff 发布的以下代码作为早期解决方案,以防止使用退格键导致浏览器返回历史页面。我的问题是代码不允许在 type="number" 中退格(删除)字符。
$(document).keydown(function (e) {
var preventKeyPress;
if (e.keyCode == 8) {
var d = e.srcElement || e.target;
switch (d.tagName.toUpperCase()) {
case 'TEXTAREA':
preventKeyPress = d.readOnly || d.disabled;
break;
case 'INPUT':
preventKeyPress = d.readOnly || d.disabled ||
(d.attributes["type"] && $.inArray(d.attributes["type"].value.toLowerCase(), ["radio", "checkbox", "submit", "button"]) >= 0);
break;
case 'DIV':
preventKeyPress = d.readOnly || d.disabled || !(d.attributes["contentEditable"] && d.attributes["contentEditable"].value == "true");
break;
default:
preventKeyPress = true;
break;
}
}
else
preventKeyPress = false;
if (preventKeyPress) …Run Code Online (Sandbox Code Playgroud) 我一直在搜索interwebz和Atom-shell文档,试图找出如何在浏览器窗口中禁用密钥的back()功能backspace.
我宁愿不必诉诸javascript onkeydown监听器(这是有效的),而是使用更原生的东西,而不是更多的应用程序级别而不是浏览器窗口级别.