diff options
author | MDN <actions@users.noreply.github.com> | 2021-04-21 00:11:44 +0000 |
---|---|---|
committer | MDN <actions@users.noreply.github.com> | 2021-04-21 00:11:44 +0000 |
commit | de630426a538c1f77d7c59e66827cb75693ed95b (patch) | |
tree | ff14c2d2677ed2137a84d3c322fa2f62e206e63a /files/zh-cn/web/api/document_object_model | |
parent | d7a27823444dc11c7ff40ca63a78b3b37ab82837 (diff) | |
download | translated-content-de630426a538c1f77d7c59e66827cb75693ed95b.tar.gz translated-content-de630426a538c1f77d7c59e66827cb75693ed95b.tar.bz2 translated-content-de630426a538c1f77d7c59e66827cb75693ed95b.zip |
[CRON] sync translated content
Diffstat (limited to 'files/zh-cn/web/api/document_object_model')
-rw-r--r-- | files/zh-cn/web/api/document_object_model/events/index.html | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/files/zh-cn/web/api/document_object_model/events/index.html b/files/zh-cn/web/api/document_object_model/events/index.html deleted file mode 100644 index b2dc638d82..0000000000 --- a/files/zh-cn/web/api/document_object_model/events/index.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: 事件及DOM -slug: Web/API/Document_Object_Model/Events -tags: - - DOM - - events -translation_of: Web/API/Document_Object_Model/Events ---- -<p>{{DefaultAPISidebar("DOM")}}</p> - -<h2 id="Introduction" name="Introduction">简介</h2> - -<p>这一章节介绍了DOM事件模型(DOM Event Model)。主要描述了<a href="http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-Event">事件(Event)</a>接口本身以及DOM节点中的事件注册接口、<a href="/en-US/docs/Web/API/EventTarget.addEventListener">事件监听接口</a>,以及几个展示了多种事件接口之间相互关联的较长示例。</p> - -<p>这里有一张非常不错的图表清晰地解释了在<a href="http://www.w3.org/TR/DOM-Level-3-Events/#dom-event-architecture">DOM3级事件草案(DOM Level 3 Events draft)</a>中通过DOM处理事件流的三个阶段。</p> - -<p>也可以通过示例章节的 <a href="/en-US/docs/DOM/DOM_Reference/Examples#Example_5:_Event_Propagation">示例5:事件传递</a> 获取更多事件如何在DOM中流转的相关细节。</p> - -<h2 id="DOM_event_handler_List" name="DOM_event_handler_List">注册事件监听器</h2> - -<p>这里有3种方法来为一个DOM元素注册事件回调。</p> - -<h3 id="EventTarget.addEventListener" name="EventTarget.addEventListener">{{domxref("EventTarget.addEventListener")}}</h3> - -<pre class="brush: js">// 假设 myButton 是一个按钮 -myButton.addEventListener('click', greet, false); -function greet(event) { - // 打印并查看event对象 - // 打印arguments,以防忽略了其他参数 - console.log('greet: ' + arguments); - alert('Hello world'); -} -</pre> - -<p>你应该在现代Web技术的页面中使用这个方法。</p> - -<p>备注:IE 6-8 不支持这一方法,但提供了类似的API即 {{domxref("EventTarget.attachEvent")}} 用以替代。考虑到跨浏览器兼容性问题请使用有效的JS代码库。</p> - -<p>更多细节可在 {{domxref("EventTarget.addEventListener")}} 参考页面中找到.</p> - -<h3 id="HTML_attribute" name="HTML_attribute"><a href="/zh-CN/docs/Web/Guide/HTML/Event_attributes">HTML 属性</a></h3> - -<pre class="brush: html"><button onclick="alert('Hello world!')"> -</pre> - -<p>属性中的JS代码触发时通过event参数将Event类型对象传递过去的。<a href="http://dev.w3.org/html5/spec/webappapis.html#the-event-handler-processing-algorithm">其返回值以特殊的方式来处理,已经在HTML规范中被描述</a>。</p> - -<p>应该尽量避免这种书写方式,这将使HTML变大并减少可读性。考虑到内容/结构及行为不能很好的分开,这将造成bug很难被找到。</p> - -<h3 id="DOM_element_properties" name="DOM_element_properties">DOM 元素属性</h3> - -<pre class="brush: js">// 假设 myButton 是一个按钮 -myButton.onclick = function(event){alert('Hello world');}; -</pre> - -<p>带有event参数的函数可以这样被定义。<a href="http://dev.w3.org/html5/spec/webappapis.html#the-event-handler-processing-algorithm">其返回值以特殊的方式来处理,已经在HTML规范中被描述。</a></p> - -<p>这种方式的问题是每个事件及每个元素只能被设置一个回调。</p> - -<h2 id="访问事件接口">访问事件接口</h2> - -<p>事件回调可以被绑定到包括DOM元素、文档、{{domxref("window")}} 等多种对象上。当一个事件被触发时,一个event对象将被创建并顺序的传递给事件监听者们。</p> - -<p> {{domxref("Event")}} 接口可以在回调函数内被访问到,通过被传递进来做为第一个参数的事件对象。以下这个简单例子展示了如何将事件对象传递给事件回调函数,同时可以在这个函数中使用。</p> - -<pre class="brush: js">function foo(evt) { - // evt参数自动分配事件对象 - alert(evt); -} -table_el.onclick = foo; -</pre> - -<h2 id="下级页面导航">下级页面导航</h2> - -<ul> - <li><a href="/zh-CN/docs/Web/API/Document_Object_Model">DOM相关参考</a></li> - <li><a href="/zh-CN/docs/Web/API/Document_Object_Model/Introduction">DOM介绍</a></li> - <li><a href="/zh-CN/docs/Web/API/Document_Object_Model/Events">事件及DOM</a></li> - <li><a href="/zh-CN/docs/Web/API/Document_Object_Model/Examples">样例</a></li> -</ul> |