以下是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">
个事件。我是否以错误的方式使用焦点?
任何建议都将受到赞赏。
由于
答案 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>
不要使用
@View
注释,它已被弃用。