我该怎么办?我已经查看了离子论坛,谷歌搜索结果,并没有找到任何有用的东西。此外,我已尝试触发private static byte[] computeHash<T>(object instance, T cryptoServiceProvider) where T : HashAlgorithm, new()
{
// Original Code using DataContractSerializer throws an Exception.
//DataContractSerializer serializer = new DataContractSerializer(instance.GetType());
// Use the following instead of the above in order to avoid Exception being thrown.
NetDataContractSerializer serializer = new NetDataContractSerializer();
using (MemoryStream memoryStream = new MemoryStream())
{
serializer.WriteObject(memoryStream, instance);
cryptoServiceProvider.ComputeHash(memoryStream.ToArray());
return cryptoServiceProvider.Hash;
}
}
,dblclick
,dbltap
,doubletap
,甚至多个doubleClick
和tap
事件,但似乎没有工作
我知道我曾经使用的一些事件甚至不存在,我只是试图看看离子是否会以某种方式识别它们。此外,我尝试了点击事件,因为该应用程序在浏览器中运行得很好,所以我认为它也可以在规范中使用。
如果有帮助,我需要这个来对我的功能进行单元测试。我有click
,当用户双击ion-list
时,它会将项目标记为已选中。我的标记目前看起来像这样:
ion-item
我的规格,就像这样:
<ion-item on-double-tap="ctrl.toggleProductConfirmation(product)" ...
最后一个细节:我用幻影JS来运行我的规格。
感谢您的帮助!
答案 0 :(得分:3)
我在离子论坛上问了同样的问题,幸运的是,有人能够帮助我。
在离子状态下,显然您可以随时使用ionic.trigger
来触发您想要的任何事件,其中包括doubletap
(http://ionicframework.com/docs/api/utility/ionic.EventController/#trigger)。
文档有点混乱,所以我会在这里发布我的代码以帮助遇到同样问题的人:
ionic.trigger('doubletap', { target: this.element.find('ion-item').get(0) });
因为我在我的规范中使用了jquery,所以我不得不使用get(0)
来检索DOM元素本身,因为直接传递jQuery对象并不适合我。
链接到离子论坛中的帖子:https://forum.ionicframework.com/t/how-to-programmatically-trigger-doubletap-event/41264
答案 1 :(得分:0)
这在离子中可能是不可能的,因为Ionic会删除默认的300ms延迟,以使应用程序具有更强的原生感。 Ref
您可以尝试触发元素中的事件,并禁用延迟,如下所示
<div data-tap-disabled="true">
<div id="google-map"></div>
</div>