Titanium WebView中的xhtml不会触发应用程序级事件(Ti.App.fireEvent)

时间:2014-01-10 02:29:37

标签: events webview xhtml titanium appcelerator

我正在使用Titanium开发iOS ePub阅读器应用程序。

我正在使用WebView打开一个.xhtml文件,该文件从ePub解压缩。它与.html的不同之处在于将html标记设为

<html xmlns:epub="http://www.idpf.org/2007/ops" 
  xmlns="http://www.w3.org/1999/xhtml" 
  xmlns:ev="http://www.w3.org/2001/xml-events">

在这个xhtml中,我在用户选择时触发一个事件,如下所示:

$(function(){    
    /** detect touchend **/
    $(document).bind('touchend', function(e){
        var sel = '';
        if(window.getSelection){
            sel = window.getSelection().toString();

            if( sel.length>0 ){
                $('#debug').html( sel );
                Ti.App.fireEvent('EPubReader:selectText', {text:sel} );
            }
        }
    }); 
});

但即使可以执行其他脚本,例如 $('#debug')。html(sel); ,事件也不会触发。 但是,当我将文件从 .xhtml 更改为 .html 并将html标记替换为简单标记时。它可以解雇事件。

为什么会这样?

虽然它在修改后有用,但我不想修改从ePub解压缩的每个.xhtml文件。如何在不将其从.xhtml更改为.html ??

的情况下使其工作

0 个答案:

没有答案