onmouseout是什么意思(onmouseout)
大家好,小訊來為大家解答以上的問題。onmouseout是什么意思,onmouseout這個很多人還不知道,現(xiàn)在讓我們一起來看看吧!
1、在onmouseover時先進行如下判斷,結(jié)果為true時再執(zhí)行方法體: if(!this.contains(event.fromElement)){MouseOverFunc()} 在onmouseout時先進行如下判斷,結(jié)果為true時再執(zhí)行方法體: if(!this.contains(event.toElement)){MouseOutFunc()} 下面來解釋一下上面兩行代碼的含義: 在IE中,所有的HTML元素都有一個contains方法,它的作用是判斷當前元素內(nèi)部是否包含指定的元素。
2、利用這個方法來判斷外層元素的事件是不是因為內(nèi)部元素而被觸發(fā),如果內(nèi)部元素導致了不需要的事件被觸發(fā),那就忽略這個事件。
3、 event.fromElement指向觸發(fā)onmouseover和onmouseout事件時鼠標離開的元素;event.toElement指向觸發(fā)onmouseover和onmouseout事件時鼠標進入的元素。
4、 那么上面兩行代碼的含義就分別是: ○ 當觸發(fā)onmouseover事件時,判斷鼠標離開的元素是否是當前元素的內(nèi)部元素,如果是,忽略此事件; ○ 當觸發(fā)onmouseout事件時,判斷鼠標進入的元素是否是當前元素的內(nèi)部元素,如果是,忽略此事件; 這樣,內(nèi)部元素就不會干擾外層元素的onmouseover和onmouseout事件了。
5、 但問題又來了,非IE的瀏覽器并不支持contains函數(shù),不過既然已經(jīng)知道了contains函數(shù)的作用,就可以自行添加如下的代碼來為非IE瀏覽器增加contains支持: if(typeof(HTMLElement) != "undefined") { HTMLElement.prototype.contains = function(obj) { while(obj != null && typeof(obj.tagName) != "undefind") { if(obj == this) Return true; Obj = obj.parentNode; } return false; }; }。
本文到此分享完畢,希望對大家有所幫助。