JQuery裡面的事件event屬性探究

來源:互聯網
上載者:User

網上找了很久都沒找到關於jQuery裡的事件event說明,後來好不容易在一個人的部落格上找到了,很是辛苦啊!

後來想了想還是自己看jQuery的源碼吧,然後找啊找,找到了下面的說明:

fix: function( event ) {<br />if ( event[ jQuery.expando ] ) {<br />return event;<br />}<br />// store a copy of the original event object<br />// and "clone" to set read-only properties<br />var originalEvent = event;<br />event = jQuery.Event( originalEvent );<br />for ( var i = this.props.length, prop; i; ) {<br />prop = this.props[ --i ];<br />event[ prop ] = originalEvent[ prop ];<br />}<br />// Fix target property, if necessary<br />if ( !event.target ) {<br />// Fixes #1925 where srcElement might not be defined either<br />event.target = event.srcElement || document;<br />}<br />// check if target is a textnode (safari)<br />if ( event.target.nodeType === 3 ) {<br />event.target = event.target.parentNode;<br />}<br />// Add relatedTarget, if necessary<br />if ( !event.relatedTarget && event.fromElement ) {<br />event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement;<br />}<br />// Calculate pageX/Y if missing and clientX/Y available<br />if ( event.pageX == null && event.clientX != null ) {<br />var doc = document.documentElement,<br />body = document.body;<br />event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0);<br />event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0);<br />}<br />// Add which for key events<br />if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {<br />event.which = event.charCode != null ? event.charCode : event.keyCode;<br />}<br />// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)<br />if ( !event.metaKey && event.ctrlKey ) {<br />event.metaKey = event.ctrlKey;<br />}<br />// Add which for click: 1 === left; 2 === middle; 3 === right<br />// Note: button is not normalized, so don't use it<br />if ( !event.which && event.button !== undefined ) {<br />event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));<br />}<br />return event;<br />} 

但是感覺東西太少了,都是在JavaScript進階程式設計上看到的。所以打算之後好好研究一下yui的event源碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.