Javascript touchend事件不会在Android上触发

时间:2012-02-20 20:05:33

标签: javascript android cordova getselection

我正在尝试使用jquery mobile指定的touchend(或taphold事件,两者都不会触发)。我正在使用phonegap平台为Android开发应用程序。我的AVD运行Android 4.0.3,我的phonegap版本是1.3.0。

正如我正在使用phonegap,我正在使用javascript进行编码,其目的是使用以下代码在对单词进行长按后恢复用户选择的文本。

var selectAction = function(){
    LOGGER.log('event.js : selectAction');
};

function selectMobile(component){
    component.addEventListener('touchend',selectAction,false);
}

它实际上工作正常,如果我点击相对较快,事件将启动,我可以得到日志消息。但是,快速触摸不会选择文本(我有更多的代码采用所选文本,但这不是问题)

当用户长时间按下Android时,会弹出默认的“操作菜单”,这似乎会阻止其他事件触发。因此,当选择实际文本时,我从未进入我的selectAction。

有人知道如何在Android平台上的html / javascript中正确获取所选文本吗?

非常感谢。

1 个答案:

答案 0 :(得分:7)

这可能与下面的bug有关。 http://code.google.com/p/android/issues/detail?id=19827

尝试捕捉touchmove并调用e.preventDefault()