在JS for Android和iPhone的链接标签上触发点击事件

时间:2013-01-29 16:48:55

标签: javascript android iphone extjs sencha-touch-2

我正在使用Sencha Touch(JavaScript&amp; ExtJS)开发移动Web应用程序。我有一个链接标记(只有<a>标记href),我需要触发click事件。
我发现myelement.dom.click();的电话可以完成这项工作,但它不能用于Android ......是否有某种通用的解决方案?

更新

我有一个包含html代码的容器:

<a href="http://google.com" id="link_to_click" target="_blank">CLICK ME</a>

我需要使用纯 JavaScript ExtJS 来模拟点击此链接。必须在新窗口/选项卡中打开链接。

2 个答案:

答案 0 :(得分:9)

HTMLEvents对象与document.createEvent()一起使用,以模拟链接上的点击。

var link = document.getElementById( 'link_to_click' ),
    event = document.createEvent( 'HTMLEvents' );

event.initEvent( 'click', true, true );
link.dispatchEvent( event );

答案 1 :(得分:0)

//机器人

WebView wv = (WebView) findViewById(R.id.webview);
wv.getSettings().setJavaScriptEnabled(true);

// java描述

function bindIcons() {

            jQuery("a.icons").bind('mouseover mouseout mousedown mouseup focus blur touchstart touchend', function (e){
              if (typeof console !== "undefined" ) console.log(e);
              if (e.type=='mouseover' || e.type=='focus') 
              {
                jQuery(e.currentTarget).toggleClass('over',true);
              }

              if (e.type=='mousedown' || e.type=='touchstart') 
              {
                jQuery(e.currentTarget).toggleClass('down',true);
              }

              if (e.type=='mouseout' || e.type=='mouseup' || e.type=='touchend' || e.type=='blur') 
              {
                jQuery(e.currentTarget).toggleClass('down',false);
                jQuery(e.currentTarget).toggleClass('over',false);
              }
            });

            if (isAndroid())
               jQuery("a.ifandroid").attr("href","javascript:ifAndroid();");
            else
               jQuery("a.ifandroid").toggleClass('ifandroid',false);

      }