为什么(焦点)在这个angular2示例中不起作用?

时间:2016-04-12 06:04:58

标签: javascript typescript angular

以下是plunker用于测试

(click)

在上面的示例中,我将(focus)<p>添加到<p (click)="test()" (focus)="test2()"> 元素。

click

但是我们可以看到只传播了focus个事件,而没有传播<input type="text" name="employeeBean.familyDetails[0].relationship" value="A"> <input type="text" name="employeeBean.familyDetails[0].memberName" value="B"> <input type="text" name="employeeBean.familyDetails[0].age" value="C"> 个事件。我是否以错误的方式使用焦点?

任何建议都将受到赞赏。

由于

1 个答案:

答案 0 :(得分:4)

  

p(段落)或div代码无法获得焦点。焦点只适用于你可以与之交互的东西,比如链接(锚),输入元素,文本,按钮等等。

tabindex标记上添加p属性以接收此元素的焦点事件,在tabindex="0"标记上添加p以使其正常工作。通过将tabindex保留到0,它将确保执行焦点,DOM上元素的顺序。

<强>标记

<h1>AngularJs 2 Material Design Demo</h1>
<md-input-container>
  <label>Your name</label>
  <input #newname tabindex="0"/>

</md-input-container>
<p (click)="test()" (focus)="test2()" tabindex="0">
  Hello, {{newname.value}}
</p>

Demo Plunkr

  

不要使用@View注释,它已被弃用。