在NativeScript ios tap事件中停止事件传播
我的代码中有一个在NativeScript ios tap事件中停止事件传播,nativescript,stoppropagation,Nativescript,Stoppropagation,我的代码中有一个tap事件。其父级(非直接父级)也有tap事件。在安卓系统中,一切正常。但是在ios中,事件向上传播到该父级。如何停止该事件传播(例如javascript中的event.stopPropagation()) 示例XML代码: <StackLayout tap="newsDetails" data-args="{{ $value }}"> <StackLayout orientation="horizontal" > <L
tap
事件。其父级(非直接父级)也有tap
事件。在安卓系统中,一切正常。但是在ios
中,事件向上传播到该父级。如何停止该事件传播(例如javascript
中的event.stopPropagation()
)
示例XML代码:
<StackLayout tap="newsDetails" data-args="{{ $value }}">
<StackLayout orientation="horizontal" >
<Label text="Share" class="icon" tap="shareNews" data-args="{{ $value }}"/>
</StackLayout>
</StackLayout>
注意:我正在使用NativeScript core
谢谢。您可以使用boolean属性,但是,这不会解决问题,因为它也会停止所有嵌套元素的用户交互。在同一个区域中有多个点击事件是不好的做法。我在android上也遇到了同样的问题,下面是我提出的一个简单的解决方案,不优雅,但有效:
private ignoreTap = false;
shareNews(){
this.ignoreTap = true;
// ...
}
newsDetails(){
if (this.ignoreTap) { this.ignoreTap = false; return; }
// ...
}
标志ignoreTap将停止根函数的执行。是否有其他解决方案来执行此操作,因为它不符合我的要求。否-这只是iOS上事件传播的工作方式。看到这个了吗