我正在使用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 来模拟点击此链接。必须在新窗口/选项卡中打开链接。
答案 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);
}