最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解angular2如何手動點擊特定元素上的點擊事件

 更新時間:2018年10月16日 11:33:38   作者:代碼日志  
這篇文章主要介紹了詳解angular2如何手動點擊特定元素上的點擊事件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

我試圖在元素上編程點擊點擊事件(或任何其他事件),換句話說,我想知道在angular2中由jQuery .trigger()方法提供的類似功能.

有沒有內(nèi)置的方法來做到這一點? …..如果不是,請建議我該怎么做

考慮以下代碼片段

<form [ngFormModel]="imgUploadFrm"
     (ngSubmit)="onSubmit(imgUploadFrm)">
    <br>
    <div class="input-field">
      <input type="file" id="imgFile" (click)="onChange($event)" >
    </div>
    <button id="btnAdd" type="submit" (click)="showImageBrowseDlg()" )>Add Picture</button>
 </form>

這里當用戶點擊btnAdd它應該觸發(fā)imgFile上的點擊事件

Angular4

代替

this.renderer.invokeElementMethod(
    this.fileInput.nativeElement, 'dispatchEvent', [event]);

使用

this.fileInput.nativeElement.dispatchEvent(event);

因為invokeElementMethod不再是渲染器的一部分.

Angular2

使用 ViewChild 與模板變量來獲取對文件輸入的引用,然后使用 Renderer 調(diào)用dispatchEvent來觸發(fā)事件:

import { Component, Renderer, ElementRef } from '@angular/core';
@Component({
 ...
 template: `
...
<input #fileInput type="file" id="imgFile" (click)="onChange($event)" >
...`
})
class MyComponent {
 @ViewChild('fileInput') fileInput:ElementRef;

 constructor(private renderer:Renderer) {}

 showImageBrowseDlg() {
  // from http://stackoverflow.com/a/32010791/217408
  let event = new MouseEvent('click', {bubbles: true});
  this.renderer.invokeElementMethod(
    this.fileInput.nativeElement, 'dispatchEvent', [event]);
 }
}

更新

由于Angular團隊不再勸阻直接的DOM訪問,所以也可以使用更簡單的代碼

this.fileInput.nativeElement.click()

參見 https://developer.mozilla.org/de/docs/Web/API/EventTarget/dispatchEvent

代碼日志版權(quán)聲明:

翻譯自:http://stackoverflow.com/questions/36639486/angular2-manually-firing-click-event-on-particular-element

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

乃东县| 福州市| 青川县| 天柱县| 崇州市| 汉中市| 汾阳市| 镇沅| 贵南县| 白河县| 城固县| 通许县| 全州县| 高淳县| 青铜峡市| 巴林右旗| 晴隆县| 嘉祥县| 赤城县| 邛崃市| 苏尼特左旗| 湄潭县| 新建县| 安新县| 汉寿县| 迁西县| 庆云县| 永靖县| 昭通市| 鄂州市| 博湖县| 衡山县| 革吉县| 河西区| 嵊泗县| 涞水县| 余庆县| 崇信县| 忻州市| 阿城市| 平邑县|