1.return false可以用來阻止預設事件即系統預設事件。例如通過阻止預設事件,來對textarea中的值進行範圍限制(通過限制keycode的數值),也可以自定義在頁面中的右鍵選單(oncontextmenu)。
2.在滑鼠移動(mousemove)等事件中,是需要給事件傳乙個引數,保證程式的正常執行。而為了相容取事件方法為:var oevent=ev||event;
3.在節點中建立乙個新的節點的方法為:
var obox=document.createelement('div');
obox.classname='box';
obox.style.left = odiv.offsetleft+'px';
obox.style.top = odiv.offsettop+'px';
obox.style.width = odiv.offsetwidth+'px';
obox.style.height = odiv.offsetheight+'px';
//注意,在建立完之後一定要將建立好的節點加入body中!!!
4、取消事件冒泡(不往父級傳遞): cancelbubble用於ie的阻止冒泡事件,event.stoppropagation()用於firefox和chrome等其他瀏覽器。
5、事件繫結:同乙個事件加多次函式會被覆蓋,而繫結不會。
ie方式:
attachevent(『』事件名『』(前面加有on的),函式)繫結事件處理函式。
detachevent(『』事件名『』(前面加有on的),函式)解除繫結。
dom方式:
addeventlistener(事件名稱(沒有on),函式,捕獲(一般都為false))
aremoveeventlistener(事件名稱(沒有on),函式,捕獲(一般都為false))
可以同時加很多事件而不相互影響。並且可以封裝為函式function(obj,ev,fn)
相容如下:
if (obtn.attachevent)
else
.
事件捕獲:setcapture()將事件都集中在乙個地方,但是只有ie支援。
下列為完整**:
lang="en">
charset="utf-8">
完美拖拽2title>
* #div1
.box
style>
window.onload=function
() else
if (l>document.documentelement.clientwidth-odiv.offsetwidth)
if (t<0) else
if (t>document.documentelement.clientheight-odiv.offsetheight)
obox.style.left = l+'px';
obox.style.top=t+'px';
};document.onmouseup=function
() ;
odiv.setcapture();//ie中的事件捕獲
return
false;//阻止預設事件(系統預設事件)!
};};
script>
head>
id="div1">
div>
body>
html>
return false 在js中用法
昨天是週六,因為客戶頻繁的改需求,沒辦法主動加班去。昨天也有乙個很大收穫,下面開始正題。首先在js中,我們常用return false來阻止提交表單或者繼續執行下面的 通俗的來說就是阻止執行預設的行為。function a 這是沒有任何問題的。如果我改成這種 function test a b c ...
高階拖拽(帶框拖拽)
右邊判斷div的left 瀏覽器的可視區clientwidth div的寬度,表示物體被拖出右邊 else if l document.documentelement.clientwidth div1.offsetwidth else if t document.documentelement.cl...
設定拖拽事件,獲取拖拽內容
設定dragenter 設定dragdrop using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.l...