Angular 角度(2/4):选择文本触发单击事件
如果元素具有Angular 角度(2/4):选择文本触发单击事件,angular,Angular,如果元素具有(单击)处理程序,并且您在该元素中选择了一些文本,则会调用(单击)处理程序。有没有办法防止这种情况?说明问题。相关代码: @Component({ selector: 'my-app', template: ` <div> <h2 (click)="handleClick()">Click or select this text</h2> </div> ` }) export class App
(单击)
处理程序,并且您在该元素中选择了一些文本,则会调用(单击)
处理程序。有没有办法防止这种情况?说明问题。相关代码:
@Component({
selector: 'my-app',
template: `
<div>
<h2 (click)="handleClick()">Click or select this text</h2>
</div>
`
})
export class App {
public handleClick() {
alert('you clicked');
}
}
@组件({
选择器:“我的应用程序”,
模板:`
单击或选择此文本
`
})
导出类应用程序{
公共handleClick(){
警报(“您单击了”);
}
}
使用此代码
public handleClick() {
var selection = window.getSelection();
if(selection.toString().length === 0) {
alert('you clicked');
}
}
将单击事件($event
)传递给handleClick
方法
@Component({
selector: 'my-app',
template: `
<div>
<h2 (click)="handleClick($event)">Click or select this text</h2>
</div>
`
})
或:
Plunker demo:这件事现在发生在我身上。但真正的问题是为什么:-(
export class App {
public handleClick(event) {
if (event.view.getSelection().type !== 'Range') {
alert('you clicked');
}
}
}
export class App {
public handleClick(event) {
if (event.view.getSelection().toString().length === 0) {
alert('you clicked');
}
}
}