diff options
Diffstat (limited to 'files/zh-cn/web/api/inputevent')
-rw-r--r-- | files/zh-cn/web/api/inputevent/data/index.html | 69 | ||||
-rw-r--r-- | files/zh-cn/web/api/inputevent/datatransfer/index.html | 72 | ||||
-rw-r--r-- | files/zh-cn/web/api/inputevent/index.html | 61 | ||||
-rw-r--r-- | files/zh-cn/web/api/inputevent/inputevent/index.html | 50 | ||||
-rw-r--r-- | files/zh-cn/web/api/inputevent/inputtype/index.html | 82 | ||||
-rw-r--r-- | files/zh-cn/web/api/inputevent/iscomposing/index.html | 96 |
6 files changed, 430 insertions, 0 deletions
diff --git a/files/zh-cn/web/api/inputevent/data/index.html b/files/zh-cn/web/api/inputevent/data/index.html new file mode 100644 index 0000000000..278695993d --- /dev/null +++ b/files/zh-cn/web/api/inputevent/data/index.html @@ -0,0 +1,69 @@ +--- +title: InputEvent.data +slug: Web/API/InputEvent/data +tags: + - API + - DOM Events + - InputEvent + - data +translation_of: Web/API/InputEvent/data +--- +<p>{{SeeCompatTable}}{{APIRef("DOM Events")}}</p> + +<div class="blockIndicator note"> +<p>请注意,<strong><code>data</code></strong> 属性在使用键盘输入时会返回输入的字符内容,但在粘贴、拖动时可能会返回 <code>null</code>,这取决于浏览器。浏览器也可能把一些数据保存在 {{domxref("InputEvent.dataTransfer")}},而不是该 <strong><code>data</code></strong> 属性中。</p> +</div> + +<p>{{domxref("InputEvent")}} 接口中的只读属性 <strong><code>data</code></strong> 返回含有插入字符数据的 {{domxref("DOMString")}}。如果更改未插入文本(例如删除字符时),则其可能为空字符串。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">var <em>string</em> = <em>inputEvent</em>.data;</pre> + +<h3 id="返回值">返回值</h3> + +<p>一个 {{domxref("DOMString")}}。</p> + +<h2 id="示例">示例</h2> + +<p>在下面的简单示例中,我们在 <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event">input</a> 事件上设置了一个事件监听器,以便在对 {{htmlelement("input")}} 元素的内容进行任何更改时(通过键入或粘贴),通过 <strong><code>InputEvent.data</code></strong> 属性检索添加的文本,并在 <code><input></code> 下面的段落中报告。</p> + +<pre class="brush: html"><p>Some text to copy and paste.</p> + +<input type="text"> + +<p class="result"></p></pre> + +<pre class="brush: js">var editable = document.querySelector('input') +var result = document.querySelector('.result'); + +editable.addEventListener('input', (e) => { + result.textContent = "Inputted text: " + e.data; +});</pre> + +<p>{{EmbedLiveSample('Examples')}}</p> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('InputEvents2','#dfn-data','data')}}</td> + <td>{{Spec2('InputEvents2')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<div> +<div class="hidden">此页上的兼容性表是从结构化数据生成的。如果您想贡献数据,请访问 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并向我们发送一个请求。</div> + +<p>{{Compat("api.InputEvent.data")}}</p> +</div> diff --git a/files/zh-cn/web/api/inputevent/datatransfer/index.html b/files/zh-cn/web/api/inputevent/datatransfer/index.html new file mode 100644 index 0000000000..9f53b7091a --- /dev/null +++ b/files/zh-cn/web/api/inputevent/datatransfer/index.html @@ -0,0 +1,72 @@ +--- +title: InputEvent.dataTransfer +slug: Web/API/InputEvent/dataTransfer +tags: + - API + - DOM Events + - DataTransfer + - InputEvent +translation_of: Web/API/InputEvent/dataTransfer +--- +<p>{{SeeCompatTable}}{{APIRef("DOM Events")}}</p> + +<p>{{domxref("InputEvent")}} 接口中的只读属性 <strong><code>dataTransfer</code></strong> 返回一个 {{domxref("DataTransfer")}} 对象,该对象包含有关要添加到可编辑内容,或从可编辑内容中删除的富文本或纯文本数据的信息。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">var <em>dataTransfer</em> = <em>inputEvent</em>.dataTransfer</pre> + +<h3 id="返回值">返回值</h3> + +<p>一个 {{domxref("DataTransfer")}} 对象。</p> + +<h2 id="示例">示例</h2> + +<p>在下面的简单示例中,我们在 <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event">input</a> 事件上设置了一个事件监听器,以便在将任何内容粘贴到 {{htmlelement("p")}} 元素时,通过 <code><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/API/DataTransfer/getData">InputEvent.dataTransfer.getData()</a></code> 方法检索其HTML源代码,并在输入框下面的段落中报告。</p> + +<p>尝试复制并粘贴提供的部分内容以查看效果。注意,部分浏览器对其支持不佳。</p> + +<pre class="brush: html"><p><span style="font-weight: bold; color: blue">Whoa, bold blue text!</span></p> +<p><span style="font-weight: italic; color: red">Exciting: italic red text!</span></p> +<p>Boring normal text ;-(</p> + +<hr> + +<p contenteditable="true">Go on, try pasting some content into this editable paragraph and see what happens!</p> + +<p class="result"></p></pre> + +<pre class="brush: js">var editable = document.querySelector('p[contenteditable]'); +var result = document.querySelector('.result') +var dataTransferObj; + +editable.addEventListener('input', (e) => { + result.textContent = e.dataTransfer.getData('text/html'); +});</pre> + +<p>{{EmbedLiveSample('Examples', '100%', 250)}}</p> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + <tr> + <td>{{SpecName('InputEvents2','#dom-inputevent-datatransfer','dataTransfer')}}</td> + <td>{{Spec2('InputEvents2')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<div> +<div class="hidden">此页上的兼容性表是从结构化数据生成的。如果您想贡献数据,请访问 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并向我们发送一个请求。</div> + +<p>{{Compat("api.InputEvent.dataTransfer")}}</p> +</div> diff --git a/files/zh-cn/web/api/inputevent/index.html b/files/zh-cn/web/api/inputevent/index.html new file mode 100644 index 0000000000..a0f8caeb80 --- /dev/null +++ b/files/zh-cn/web/api/inputevent/index.html @@ -0,0 +1,61 @@ +--- +title: InputEvent +slug: Web/API/InputEvent +translation_of: Web/API/InputEvent +--- +<p>{{APIRef("DOM Events")}}</p> +<div>{{SeeCompatTable}}<</div> +<p><strong><code>InputEvent</code></strong> 接口用来构造和字符输入相关的事件对象。</p> + +<h2 id="构造函数">构造函数</h2> + +<dl> + <dt>{{domxref("InputEvent.InputEvent", "InputEvent()")}}</dt> + <dd>创建一个 <code>InputEvent</code> 对象。</dd> +</dl> + +<h2 id="属性">属性</h2> + +<p>除继承自 {{domxref("UIEvent")}} 和 {{domxref("Event")}} 接口的属性外,还有以下属性:</p> + +<dl> + <dt>{{domxref("InputEvent.data")}} {{readOnlyInline}}</dt> + <dd>返回当前输入的字符串,如果是删除操作,则该值为空字符串。</dd> + <dt>{{domxref("InputEvent.isComposing")}}{{readOnlyInline}}</dt> + <dd>返回一个布尔值,表明该事件是在触发 {{event("compositionstart")}} 事件之后且触发 {{event("compositionend")}} 事件之前触发的,也就是表明当前输入的字符是输入法的中途输入。</dd> +</dl> + +<h2 id="方法">方法</h2> + +<p>除继承自 {{domxref("UIEvent")}} 和 {{domxref("Event")}} 接口的方法外,没有其它自身方法。</p> + +<h2 id="Specifications" name="Specifications">规范</h2> + +<table class="standard-table" style="height: 49px; width: 1000px;"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM3 Events','#interface-InputEvent','InputEvent')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<p>{{Compat("api.InputEvent")}}</p> + + +<h2 id="相关链接">相关链接</h2> + +<ul> + <li>{{ event("beforeinput") }}</li> + <li>{{ event("input") }}</li> +</ul> diff --git a/files/zh-cn/web/api/inputevent/inputevent/index.html b/files/zh-cn/web/api/inputevent/inputevent/index.html new file mode 100644 index 0000000000..9d6227b309 --- /dev/null +++ b/files/zh-cn/web/api/inputevent/inputevent/index.html @@ -0,0 +1,50 @@ +--- +title: InputEvent() +slug: Web/API/InputEvent/InputEvent +tags: + - API + - Constructor + - DOM + - DOM Events + - InputEvent +translation_of: Web/API/InputEvent/InputEvent +--- +<p>{{APIRef("DOM Events")}}{{SeeCompatTable}}</p> + +<p>构造函数 <strong><code>InputEvent()</code></strong> 返回一个新创建的 {{domxref("InputEvent")}} 对象。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox"> <em>event</em> = new InputEvent(<em>typeArg</em>, <em>inputEventInit</em>);</pre> + +<h3 id="参数">参数</h3> + +<dl> + <dt><em>typeArg</em></dt> + <dd>一个 {{domxref("DOMString")}} ,表示事件的名称。</dd> + <dt><em>inputEventInit</em>{{optional_inline}}</dt> +</dl> + +<p>一个 <code>InputEventInit</code> 字典,有以下字段:</p> + +<ul> + <li><code>inputType</code>(可选),指定可编辑内容更改类型的字符串,例如插入、删除或格式化文本。</li> + <li><code>data</code>(可选),包含要插入的字符的字符串。如果更改未插入文本(例如删除字符时),则其可能为空字符串。</li> + <li><code>dataTransfer</code>(可选),一个 {{domxref("DataTransfer")}} 对象,其中包含有关添加到可编辑内容,或从可编辑内容中删除的富文本或纯文本数据的信息。</li> + <li><code>isComposing</code>(可选),一个布尔值,指示事件是组合会话的一部分,这意味着它在 {{event("compositionstart")}} 事件之后,但在 {{event("compositionend")}} 事件之前。默认值为 <code>false</code>。</li> + <li><code>ranges</code>(可选),一个静态 {{domxref("Range")}} 数组,如果输入事件没有被取消,它将受到对DOM的更改的影响。</li> +</ul> + +<p><em><code>InputEventInit</code></em><em> 字典也接受来自 {{domxref("UIEvent.UIEvent", "UIEventInit")}} 以及 {{domxref("Event.Event", "EventInit")}} 字典的值。</em></p> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<div class="hidden">此页上的兼容性表是从结构化数据生成的。如果您想贡献数据,请访问 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并向我们发送一个请求。</div> + +<p>{{Compat("api.InputEvent.InputEvent")}}</p> + +<h2 id="参考">参考</h2> + +<ul> + <li>{{domxref("InputEvent")}},它构造的对象所属的接口。</li> +</ul> diff --git a/files/zh-cn/web/api/inputevent/inputtype/index.html b/files/zh-cn/web/api/inputevent/inputtype/index.html new file mode 100644 index 0000000000..91136e1ed5 --- /dev/null +++ b/files/zh-cn/web/api/inputevent/inputtype/index.html @@ -0,0 +1,82 @@ +--- +title: InputEvent.inputType +slug: Web/API/InputEvent/inputType +tags: + - API + - DOM Events + - InputEvent + - inputType +translation_of: Web/API/InputEvent/inputType +--- +<div>{{APIRef("DOM Events")}}</div> + +<p>{{domxref("InputEvent")}} 接口中的只读属性 <strong><code>inputType</code></strong> 返回对可编辑内容所做更改的类型。可能的更改包括插入、删除和格式化文本。</p> + +<h2 id="语法">语法</h2> + +<pre class="syntaxbox">var <em>string</em> = <em>inputEvent</em>.inputType;</pre> + +<h3 id="返回值">返回值</h3> + +<p>一个 {{domxref("DOMString")}} 对象,包含所做输入的类型。有许多可能的值,例如<code>insertText</code>、<code>deleteContentBackward</code>、<code>insertFromPaste</code>和<code>formatBold</code>。有关可用输入类型的完整列表,请参阅 <a href="https://rawgit.com/w3c/input-events/v1/index.html#interface-InputEvent-Attributes">Input Events Level 1 规范的属性部分</a>。</p> + +<h2 id="示例">示例</h2> + +<p>此实例记录 <a href="/en-US/docs/Web/API/HTMLElement/input_event">input events</a> 的 <code>inputType</code>,在一个可编辑的 {{htmlElement("div")}} 中。</p> + +<h3 id="HTML">HTML</h3> + +<pre class="brush: html"><p id="log">Input type: </p> +<div contenteditable="true" style="margin: 20px;padding: 20px;border:2px dashed red;"> + <p>Some sample text. Try inserting line breaks, or deleting text in different ways, or pasting different content in.</p> + <hr> + <ul> + <li>A sample</li> + <li>bulleted</li> + <li>list.</li> + </ul> + <p>Another paragraph.</p> +</div></pre> + +<h3 id="JavaScript">JavaScript</h3> + +<pre class="brush: js">const log = document.getElementById('log'); +const editable = document.querySelector('div[contenteditable]'); +editable.addEventListener('input', logInputType); + +function logInputType(event) { + log.textContent = `Input type: ${event.inputType}`; +}</pre> + +<p>尝试编辑 <code><div></code> 中的文本,并看看发生了什么事。</p> + +<p>{{EmbedLiveSample("Examples", '100%', 500)}}</p> + +<div class="blockIndicator note"> +<p>注:有关更详细的示例,请参见 <a href="https://d-toybox.com/studio/lib/input_event_viewer.html">Masayuki Nakano的InputEvent测试套件</a>。</p> +</div> + +<h2 id="规范">规范</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">规范</th> + <th scope="col">状态</th> + <th scope="col" style="width: 15%;">备注</th> + </tr> + <tr> + <td>{{SpecName('UI Events','#dom-inputevent-inputtype','inputType')}}</td> + <td>{{Spec2('UI Events')}}</td> + <td></td> + </tr> + </tbody> +</table> + +<h2 id="浏览器兼容性">浏览器兼容性</h2> + +<div> +<div class="hidden">此页上的兼容性表是从结构化数据生成的。如果您想贡献数据,请访问 <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> 并向我们发送一个请求。</div> + +<p>{{Compat("api.InputEvent.inputType")}}</p> +</div> diff --git a/files/zh-cn/web/api/inputevent/iscomposing/index.html b/files/zh-cn/web/api/inputevent/iscomposing/index.html new file mode 100644 index 0000000000..c427a7ba50 --- /dev/null +++ b/files/zh-cn/web/api/inputevent/iscomposing/index.html @@ -0,0 +1,96 @@ +--- +title: InputEvent.isComposing +slug: Web/API/InputEvent/isComposing +translation_of: Web/API/InputEvent/isComposing +--- +<p>{{APIRef("DOM Events")}}</p> + +<p>The <code><strong>InputEvent.isComposing</strong></code> read-only property returns a {{jsxref("Boolean")}} value indicating if the event is fired after {{event("compositionstart")}} and before {{event("compositionend")}}.</p> + +<h2 id="这是一个只读属性,返回boolean类型。表示正处于输入事件的开始与结束之间,表示正在输入状态。">这是一个只读属性,返回boolean类型。表示正处于输入事件的开始与结束之间,表示正在输入状态。</h2> + +<h2 id="Syntax">Syntax</h2> + +<pre class="syntaxbox">var <em>bool</em> = <em>event</em>.isComposing;</pre> + +<h2 id="Example">Example</h2> + +<pre class="brush: js">var inputEvent = new InputEvent("syntheticInput", false); +console.log(inputEvent.isComposing); // return false +</pre> + +<h2 id="Specifications" name="Specifications">Specifications</h2> + +<table class="standard-table" style="height: 49px; width: 1000px;"> + <thead> + <tr> + <th scope="col">Specification</th> + <th scope="col">Status</th> + <th scope="col">Comment</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('DOM3 Events','#widl-InputEvent-isComposing','InputEvent.isComposing')}}</td> + <td>{{Spec2('DOM3 Events')}}</td> + <td>Initial definition.</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility">Browser compatibility</h2> + +<p>{{ CompatibilityTable() }}</p> + +<div id="compat-desktop"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Chrome</th> + <th>Firefox (Gecko)</th> + <th>Internet Explorer</th> + <th>Opera</th> + <th>Safari (WebKit)</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatGeckoDesktop("31.0") }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + </tbody> +</table> +</div> + +<div id="compat-mobile"> +<table class="compat-table"> + <tbody> + <tr> + <th>Feature</th> + <th>Android</th> + <th>Firefox Mobile (Gecko)</th> + <th>IE Phone</th> + <th>Opera Mobile</th> + <th>Safari Mobile</th> + </tr> + <tr> + <td>Basic support</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatGeckoMobile("31.0") }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + <td>{{ CompatNo() }}</td> + </tr> + </tbody> +</table> +</div> + +<h2 class="note" id="See_also">See also</h2> + +<ul> + <li>{{ event("compositionstart") }} and {{ event("compositionend")}}</li> + <li>{{domxref("InputEvent")}}</li> +</ul> |