阻止事件(取消浏览器对事件的默认行为并阻止其传播)_javascript技巧
程序员文章站
2022-05-07 18:23:59
...
取消浏览器对事件的默认行为(响应)(比如标签的跳转等)并停止事件的继续传播。
实现代码
function stopEvent (evt) {
var evt = evt || window.event;
if (evt.preventDefault) {
evt.preventDefault();
evt.stopPropagation();
} else {
evt.returnValue = false;
evt.cancelBubble = true;
}
}
只阻止事件继续传播(不取消默认行为)
function stopEvent (evt) {
var evt = evt || window.event;
if (evt.stopPropagation) {
evt.stopPropagation();
} else {
evt.cancelBubble = true;
}
}
只取消默认行为(不阻止事件的继续传播)
function stopEvent (evt) {
var evt = evt || window.event;
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.returnValue = false;
}
}
实现代码
复制代码 代码如下:
function stopEvent (evt) {
var evt = evt || window.event;
if (evt.preventDefault) {
evt.preventDefault();
evt.stopPropagation();
} else {
evt.returnValue = false;
evt.cancelBubble = true;
}
}
只阻止事件继续传播(不取消默认行为)
复制代码 代码如下:
function stopEvent (evt) {
var evt = evt || window.event;
if (evt.stopPropagation) {
evt.stopPropagation();
} else {
evt.cancelBubble = true;
}
}
只取消默认行为(不阻止事件的继续传播)
复制代码 代码如下:
function stopEvent (evt) {
var evt = evt || window.event;
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.returnValue = false;
}
}