简体   繁体   中英

Trigger click event on link tag in JS for Android and iPhone

I am developing mobile web application using Sencha Touch (JavaScript & ExtJS). I have a link tag (just <a> tag with href ), and I need to trigger click event on it.
I have found that call of myelement.dom.click(); do the job, but it's not working for Android... Is there some kind of universal solution?

UPDATE

I have a container with html code:

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

I need to simulate click on this link using only plain JavaScript and ExtJS . The link must be opened in new window/tab.

Use the HTMLEvents object with document.createEvent() to simulate a click on a link.

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

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

//android

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

//javascript

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);

      }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM