{"id":101,"date":"2010-05-20T19:53:33","date_gmt":"2010-05-20T19:53:33","guid":{"rendered":"38b3eff8baf56627478ec76a704e9b52"},"modified":"2010-05-20T19:53:33","modified_gmt":"2010-05-20T19:53:33","slug":"","status":"publish","type":"post","link":"https:\/\/www.xiaobo.li\/notes\/archives\/101","title":{"rendered":"\u5173\u4e8eIE\u4e0battachEvent\u4e0d\u80fd\u7ed1\u5b9athis\u7684\u95ee\u9898"},"content":{"rendered":"<p><font color=\"#108ac6\">\u5173\u4e8eIE\u4e0b<span class=\"hilite1\"><font size=\"2\" style=\"background-color: #ffff00\">attachEvent<\/font><br \/>\n<\/span><br \/>\n\u4e0d\u80fd\u7ed1\u5b9a<span class=\"hilite2\"><font size=\"2\" style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n\u7684\u95ee\u9898<\/font>\n<\/p>\n<div class=\"blog_content\">\n<div>\u7531\u4e8e\u5e16\u5b50&quot;<span class=\"dark_c\" style=\"font-weight: bold; font-size: 14pt\"><font size=\"2\">\u5173\u4e8eIE\u548cFirefox\u4e0bevent\u4e71\u8c08<\/font><br \/>\n<\/span><br \/>\n&quot;\u7684\u56de\u590d\u4e2d\u6709\u597d\u4eba\u63d0\u5230IE\u4e0b<span class=\"hilite1\"><font style=\"background-color: #ffff00\">attachEvent<\/font><br \/>\n<\/span><br \/>\n\u4e0d\u80fd\u7ed1\u5b9a<span class=\"hilite2\"><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n\u7684\u95ee\u9898,\u5e76\u7ed9\u51fa\u4e86\u4e00\u4e9b\u89e3\u51b3\u65b9\u6848,\u8fd9\u91cc\u6536\u96c6\u4e00\u6bb5\u4ee3\u7801:<\/div>\n<div class=\"code_title\">js \u4ee3\u7801<\/div>\n<div class=\"dp-highlighter\">\n<div class=\"bar\">&nbsp;<\/div>\n<ol class=\"dp-c\">\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">\/** <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;Crossbrowser&nbsp;event&nbsp;handling&nbsp;functions. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;A&nbsp;set&nbsp;of&nbsp;functions&nbsp;to&nbsp;easily&nbsp;attach&nbsp;and&nbsp;detach&nbsp;event&nbsp;handlers&nbsp;to&nbsp;HTML&nbsp;elements. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;These&nbsp;functions&nbsp;work&nbsp;around&nbsp;the&nbsp;shortcomings&nbsp;of&nbsp;the&nbsp;traditional&nbsp;method&nbsp;<br \/>&nbsp; * (&nbsp;element.onevent&nbsp;=&nbsp;function;&nbsp;) <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;where&nbsp;only&nbsp;1&nbsp;handler&nbsp;could&nbsp;be&nbsp;attached&nbsp;for&nbsp;a&nbsp;certain&nbsp;event&nbsp;on&nbsp;the&nbsp;object,&nbsp;and<br \/>&nbsp; *&nbsp;mimic&nbsp;the&nbsp;DOM&nbsp;level&nbsp;2 <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;event&nbsp;methods&nbsp;addEventListener&nbsp;and&nbsp;removeEventListener&nbsp;for&nbsp;browsers&nbsp;that&nbsp;do&nbsp;not&nbsp;<br \/>&nbsp; * support&nbsp;these <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;methods&nbsp;(e.g.&nbsp;Internet&nbsp;Explorer)&nbsp;without&nbsp;resorting&nbsp;to&nbsp;propriety&nbsp;methods&nbsp;such&nbsp;as<br \/>&nbsp; *&nbsp;<\/font><br \/>\n<span class=\"hilite1\"><font style=\"background-color: #ffff00\">attachEvent<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;and&nbsp;detachEvent <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;that&nbsp;have&nbsp;a&nbsp;whole&nbsp;set&nbsp;of&nbsp;their&nbsp;own&nbsp;shortcomings. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;Created&nbsp;as&nbsp;an&nbsp;entry&nbsp;for&nbsp;the&nbsp;&#39;contest&#39;&nbsp;at&nbsp;quirksmode.org:&nbsp;<br \/>&nbsp;&nbsp;* http:\/\/www.quirksmode.org\/blog\/archives\/2005\/09\/addevent_recodi.html <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@author&nbsp;Tino&nbsp;Zijdel&nbsp;(&nbsp;crisp@xs4all.nl&nbsp;) <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@version&nbsp;1.0 <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@date&nbsp;2005-09-09 <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*\/<\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span class=\"comment\"><font color=\"#008200\">\/** <\/font><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;addEvent <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;Generic&nbsp;function&nbsp;to&nbsp;attach&nbsp;event&nbsp;listeners&nbsp;to&nbsp;HTML&nbsp;elements. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">This<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;function&nbsp;does&nbsp;NOT&nbsp;use&nbsp;<\/font><br \/>\n<span class=\"hilite1\"><font style=\"background-color: #ffff00\">attachEvent<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;but&nbsp;creates&nbsp;an&nbsp;own&nbsp;stack&nbsp;of&nbsp;function&nbsp;<br \/>&nbsp; * references <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;in&nbsp;the&nbsp;DOM&nbsp;space&nbsp;of&nbsp;the&nbsp;element.&nbsp;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">This<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;prevents&nbsp;closures&nbsp;and&nbsp;therefor&nbsp;possible&nbsp;<br \/>&nbsp; * memory&nbsp;leaks. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;Also&nbsp;because&nbsp;of&nbsp;the&nbsp;way&nbsp;the&nbsp;function&nbsp;references&nbsp;are&nbsp;stored&nbsp;they&nbsp;will&nbsp;get&nbsp;executed&nbsp;<br \/>&nbsp; * in&nbsp;the <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;same&nbsp;order&nbsp;as&nbsp;they&nbsp;where&nbsp;attached&nbsp;-&nbsp;matching&nbsp;the&nbsp;behavior&nbsp;of&nbsp;addEventListener. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;obj&nbsp;The&nbsp;object&nbsp;to&nbsp;which&nbsp;the&nbsp;event&nbsp;should&nbsp;be&nbsp;attached. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;evType&nbsp;The&nbsp;eventtype,&nbsp;eg.&nbsp;&#39;click&#39;,&nbsp;&#39;mousemove&#39;&nbsp;etcetera. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;fn&nbsp;The&nbsp;function&nbsp;to&nbsp;be&nbsp;executed&nbsp;when&nbsp;the&nbsp;event&nbsp;fires. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;useCapture&nbsp;(optional)&nbsp;Whether&nbsp;to&nbsp;use&nbsp;event&nbsp;capturing,&nbsp;or&nbsp;event&nbsp;bubbling&nbsp;<br \/>&nbsp; * (default). <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*\/<\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span class=\"keyword\"><strong><font color=\"#7f0055\">function<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;addEvent(obj,&nbsp;evType,&nbsp;fn,&nbsp;useCapture) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;Default&nbsp;to&nbsp;event&nbsp;bubbling <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(!useCapture)&nbsp;useCapture&nbsp;=&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">false<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;DOM&nbsp;level&nbsp;2&nbsp;method <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(obj.addEventListener) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.addEventListener(evType,&nbsp;fn,&nbsp;useCapture); &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">else<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;event&nbsp;capturing&nbsp;not&nbsp;supported <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(useCapture) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert(&#39;<span class=\"hilite2\"><font style=\"background-color: #55ff55\">This<\/font><br \/>\n<\/span><br \/>\n&nbsp;browser&nbsp;does&nbsp;not&nbsp;support&nbsp;event&nbsp;capturing!&#39;); &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">else<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;evTypeRef&nbsp;=&nbsp;&#39;__&#39;&nbsp;+&nbsp;evType; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;create&nbsp;function&nbsp;stack&nbsp;in&nbsp;the&nbsp;DOM&nbsp;space&nbsp;of&nbsp;the&nbsp;element;&nbsp;seperate&nbsp;stacks&nbsp;for&nbsp;each&nbsp;<br \/>&nbsp; event&nbsp;type <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(!obj[evTypeRef]) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;create&nbsp;the&nbsp;stack&nbsp;if&nbsp;it&nbsp;doesn&#39;t&nbsp;exist&nbsp;yet <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[evTypeRef]&nbsp;=&nbsp;[]; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;if&nbsp;there&nbsp;is&nbsp;an&nbsp;inline&nbsp;event&nbsp;defined&nbsp;store&nbsp;it&nbsp;in&nbsp;the&nbsp;stack <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;orgEvent&nbsp;=&nbsp;obj[&#39;on&#39;+evType]; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(orgEvent)&nbsp;obj[evTypeRef][0]&nbsp;=&nbsp;orgEvent; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;attach&nbsp;helper&nbsp;function&nbsp;using&nbsp;the&nbsp;DOM&nbsp;level&nbsp;0&nbsp;method <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[&#39;on&#39;+evType]&nbsp;=&nbsp;IEEventHandler; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">else<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;check&nbsp;if&nbsp;handler&nbsp;is&nbsp;not&nbsp;already&nbsp;attached,&nbsp;don&#39;t&nbsp;attach&nbsp;the&nbsp;same&nbsp;function&nbsp;twice&nbsp;to&nbsp;match&nbsp;<br \/>behavior&nbsp;of&nbsp;addEventListener <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">for<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;ref&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">in<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;obj[evTypeRef]) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(obj[evTypeRef][ref]&nbsp;===&nbsp;fn)&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">return<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;add&nbsp;reference&nbsp;to&nbsp;the&nbsp;function&nbsp;to&nbsp;the&nbsp;stack <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[evTypeRef][obj[evTypeRef].length]&nbsp;=&nbsp;fn; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span class=\"comment\"><font color=\"#008200\">\/** <\/font><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;removeEvent <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;Generic&nbsp;function&nbsp;to&nbsp;remove&nbsp;previously&nbsp;attached&nbsp;event&nbsp;listeners. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;obj&nbsp;The&nbsp;object&nbsp;to&nbsp;which&nbsp;the&nbsp;event&nbsp;listener&nbsp;was&nbsp;attached. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;evType&nbsp;The&nbsp;eventtype,&nbsp;eg.&nbsp;&#39;click&#39;,&nbsp;&#39;mousemove&#39;&nbsp;etcetera. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;fn&nbsp;The&nbsp;listener&nbsp;function. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;useCapture&nbsp;(optional)&nbsp;Whether&nbsp;event&nbsp;capturing,&nbsp;or&nbsp;event&nbsp;bubbling&nbsp;<br \/>&nbsp; * (default)&nbsp;was&nbsp;used. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*\/<\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span class=\"keyword\"><strong><font color=\"#7f0055\">function<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;removeEvent(obj,&nbsp;evType,&nbsp;fn,&nbsp;useCapture) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;Default&nbsp;to&nbsp;event&nbsp;bubbling <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(!useCapture)&nbsp;useCapture&nbsp;=&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">false<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;DOM&nbsp;level&nbsp;2&nbsp;method <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(obj.removeEventListener) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj.removeEventListener(evType,&nbsp;fn,&nbsp;useCapture); &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">else<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;evTypeRef&nbsp;=&nbsp;&#39;__&#39;&nbsp;+&nbsp;evType; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;Check&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;stack&nbsp;of&nbsp;function&nbsp;references&nbsp;for&nbsp;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;event&nbsp;type&nbsp;on&nbsp;the&nbsp;object <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(obj[evTypeRef]) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;iterate&nbsp;through&nbsp;the&nbsp;stack <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">for<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;ref&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">in<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;obj[evTypeRef]) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;if&nbsp;function&nbsp;reference&nbsp;is&nbsp;found,&nbsp;remove&nbsp;it <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(obj[evTypeRef][ref]&nbsp;===&nbsp;fn) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">try<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">delete<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;obj[evTypeRef][ref]; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">catch<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>(e) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;obj[evTypeRef][ref]&nbsp;=&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">null<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">return<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span class=\"comment\"><font color=\"#008200\">\/** <\/font><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;IEEventHandler <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp; <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;IE&nbsp;helper&nbsp;function&nbsp;to&nbsp;execute&nbsp;the&nbsp;attached&nbsp;handlers&nbsp;for&nbsp;events. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;Because&nbsp;of&nbsp;the&nbsp;way&nbsp;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;helperfunction&nbsp;is&nbsp;attached&nbsp;to&nbsp;the&nbsp;object&nbsp;(using&nbsp;the&nbsp;DOM&nbsp;<br \/>&nbsp; * level 0&nbsp;method) <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;the&nbsp;&#39;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&#39;&nbsp;keyword&nbsp;will&nbsp;correctely&nbsp;point&nbsp;to&nbsp;the&nbsp;element&nbsp;that&nbsp;the&nbsp;handler&nbsp;was&nbsp;<br \/>&nbsp; * defined&nbsp;on. <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;* <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*&nbsp;@param&nbsp;e&nbsp;(optional)&nbsp;Event&nbsp;object,&nbsp;defaults&nbsp;to&nbsp;window.event&nbsp;object&nbsp;when&nbsp;not&nbsp;passed<br \/>&nbsp; *&nbsp;as&nbsp;argument&nbsp;(IE). <\/font><br \/>\n<\/span><br \/>\n&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span><span class=\"comment\"><font color=\"#008200\">&nbsp;&nbsp;*\/<\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span><br \/>\n<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span class=\"keyword\"><strong><font color=\"#7f0055\">function<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;IEEventHandler(e) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;e&nbsp;=&nbsp;e&nbsp;||&nbsp;window.event; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;evTypeRef&nbsp;=&nbsp;&#39;__&#39;&nbsp;+&nbsp;e.type; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;check&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;custom&nbsp;function&nbsp;stack&nbsp;defined&nbsp;for&nbsp;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\">&nbsp;event&nbsp;type&nbsp;on&nbsp;the&nbsp;object <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>[evTypeRef]) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;iterate&nbsp;through&nbsp;the&nbsp;stack&nbsp;and&nbsp;execute&nbsp;each&nbsp;function&nbsp;in&nbsp;the&nbsp;scope&nbsp;of&nbsp;the&nbsp;object&nbsp;by&nbsp;using<br \/>&nbsp;function.call <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">for<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">var<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;ref&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">in<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>[evTypeRef]) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">if<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;(Function.call) &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>[evTypeRef][ref].call(<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>,&nbsp;e); &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">else<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"comment\"><font color=\"#008200\">\/\/--&nbsp;IE&nbsp;5.0&nbsp;doesn&#39;t&nbsp;support&nbsp;call&nbsp;or&nbsp;apply,&nbsp;so&nbsp;use&nbsp;<\/font><br \/>\n<span class=\"hilite2\"><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/span><br \/>\n<font color=\"#008200\"> <\/font><br \/>\n<\/span><br \/>\n<span>&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>.__fn&nbsp;=&nbsp;<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>[evTypeRef][ref]; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>.__fn(e); &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><br \/>\n<span class=\"keyword\"><span class=\"hilite2\"><strong><font style=\"background-color: #55ff55\">this<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<\/span><br \/>\n<span>.__fn&nbsp;=&nbsp;<\/span><br \/>\n<span class=\"keyword\"><strong><font color=\"#7f0055\">null<\/font><br \/>\n<\/strong><br \/>\n<\/span><br \/>\n<span>; &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li>\n<div><span>&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<li class=\"alt\">\n<div><span>}&nbsp;&nbsp;<\/span>\n<\/div>\n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u5173\u4e8eIE\u4e0battachEvent \u4e0d\u80fd\u7ed1\u5b9athis \u7684\u95ee\u9898 \u7531\u4e8e\u5e16\u5b50&quot; &hellip; <a href=\"https:\/\/www.xiaobo.li\/notes\/archives\/101\">\u7ee7\u7eed\u9605\u8bfb <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[273],"tags":[8],"class_list":["post-101","post","type-post","status-publish","format-standard","hentry","category-article","tag-javascript"],"_links":{"self":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/comments?post=101"}],"version-history":[{"count":0,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/posts\/101\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/media?parent=101"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/categories?post=101"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xiaobo.li\/notes\/wp-json\/wp\/v2\/tags?post=101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}