想要web頁面充分展示自身特色,修改瀏覽器預設的右鍵事件必不可少。
右鍵單擊網頁,總是彈出另存為、審查元素、檢視網頁源**等等之類的選單。就我看來這是挺影響體驗的。像右鍵這麼重要的位置,必須充分利用。調整頁面鏈結之類等等的需求都是可以的。
如何實現這個需求?利用瀏覽器contextmenu事件。
支援contextmenu事件的瀏覽器有ie、firefox、safari、chrome和opera11+。
下面是乙個簡單的demo:
charset="utf-8">
contextmenu event exampletitle>
head>
id="mydiv">right click or ctrl+click me to get a custom context menu.
click anywhere else to get the default context menu.div>
id="mymenu"
style="position:absolute;visibility:hidden;background-color:silver">
li>
href="">我的部落格a>
li>
href="">githuba>
li>
ul>
body>
html>
var eventutil = else
if(element.attachevent)else
},removehandler : function(element , type , handler)else
if(element.detatchevent)else
},getevent:function(event),
gettarget:function(event),
preventdefault:function(event)else
},stoppropagation:function(event)else
},getrelatedtarget:function(event)else
if(event.toelement)else
if(event.fromelement)else
},gutbutton:function(event)else}},
getwheeldelta:function(event)else
},getcharcode:function(event)else}};
eventutil.addhandler(window , "load" , function(event));
eventutil.addhandler(document , "click" , function(event));
})
以上js的事件處理程式用到了另外一篇文章的跨瀏覽器相容性的事件處理程式
樣式**沒新增css樣式,只要稍微新增css就能很酷炫了哦!
源**
js 預設事件取消
子類的事件會會發父類相同型別的事件,w3c 標準window.event.stoppropagation也是事件物件 event 的乙個方法,作用是阻止目標元素的冒泡事件,但是會不阻止預設行為。ie則是使用window.event.cancelbubble true 2.阻止預設事件 a標籤的跳轉,...
建立可被取消的預設事件處理器
建立可被取消的預設事件處理器 重要說明 本小節內容由閒雲野鶴傾情提供,謝謝他的分享。預設事件處理器用於在元件內部對某些事件進行預設動作相應,這在很多元件裡面都是很普遍的。這樣元件可以觸發某些事件,預設對觸發的事件進行處理,比如在可關閉的titlewindow視窗中,我們單擊頂部的關閉按鈕,title...
阻止事件冒泡,阻止預設事件
阻止事件冒泡 html 冒泡事件測試 js table click function td click function span click function e 如果js中不加 e.stoppropagation 那輸出結果就依次為span td table。這就叫事件冒泡。就是從下到上,從裡到...