如果元素具有(click)
处理程序,并且您在该元素中选择了一些文本,则会调用(click)
处理程序。有办法防止这种情况吗? Here's a Plunkr说明了问题。相关代码:
@Component({
selector: 'my-app',
template: `
<div>
<h2 (click)="handleClick()">Click or select this text</h2>
</div>
`
})
export class App {
public handleClick() {
alert('you clicked');
}
}
最佳答案
使用此代码
public handleClick() {
var selection = window.getSelection();
if(selection.toString().length === 0) {
alert('you clicked');
}
}
关于 Angular (2/4): selecting text fires click event,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46785367/