完美拖拽 return false的用法 事件繫結

2021-08-04 11:57:52 字數 1779 閱讀 3372

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...