初学者,这个代码,是之前别人告诉我的,我一句句学习了,
别的理解的差不多了,就是不懂为什么要有一个 返回值 false
他是干什么的?
if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;//★★★★★★★★★★★★★★
}
function norightclick(e)
{
if (window.Event) {
if (e.which == 2 || e.which == 3)
return false;
} else if (event.button == 2 || event.button == 3){
event.cancelBubble = true
event.returnValue = false;
return false; //★★★★★★★★★★★★★★
}
}
document.oncontextmenu = nocontextmenu; // for IE5+
document.onmousedown = norightclick; //for all others
事件处理函数中 return false 可以阻止部分默认行为
这个具体的用处得看它用在哪里!
一般情况下,这个return false; 表示“不做什么”
阻止事件的默认行为。
一般认为返回结果,终止执行
等价于event.preventDefault()
,只是为了兼容老旧的浏览器
event.preventDefault()
属于DOM 2标准,之前的浏览器得用return false
来阻止默认事件。
这段代码的return false
有点滥用了。
在事件方法中使用return false
可以同时为止浏览器的默认事件以及事件冒泡,所以需要按需使用。 你这个例子应该就是这个目的。
在普通方法中使用return false
,可以表示一个方法的返回结果
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;//★★★★★★★★★★★★★★
}
返回false是为了让document.oncontextmenu设置为false来禁用右键菜单
function norightclick(e)
{
if (window.Event) {
if (e.which == 2 || e.which == 3)
return false;
} else if (event.button == 2 || event.button == 3){
event.cancelBubble = true
event.returnValue = false;
return false; //★★★★★★★★★★★★★★
}
}
返回false是设置document.onmousedown = false来然让鼠标按键失效
其实nocontextmenu()
和norightclick(e)
这2个方法已经达到效果了,在设置这个属性无非就是效果更佳!