怎么用js监听flash的点击事件

怎么用js监听flash的点击事件,第1张

如果要与flash交互,需要在as代码中先注册执行的函数,然后js才能通过as的接口调用该方法, 所以不能直接调用flash,要实现这个方法需要改这个插件的源码,不过稍微研究下还是可以改的, as30与java很相似

首先,设置webView属性:

其次,设置WebChromeClient:

如此,webView中就可以捕获javascript的alert()、confirm()事件了。

改变变量的值肯定也是通过js实现的吧,那就直接在后面跟上 该变量改变后要触发的时间就可以了吧……
可以单独写一个方法,用来执行这个 *** 作,如
boolean _b = true;//该变量
function test(b){
_b = b;
doEvent();//改变后出发的事件
}

在iOS开发之Objective-C与JavaScript交互 *** 作 中我们可以通过stringByEvaluatingJavaScriptFromString 去实现在obj-C中获取到相关节点属性,添加javascript代码等功能。但是我们如何监听到javascript的响应事件呢。在MAC OS中有效的API去实现,但iPhone没有,但我们有一个技巧途径:
大概思路是:在JavaScript事件响应时,通过设置documentlocation,这会引发webview的一个delegate方法,从而实现发送通知的效果,即达到监听的目的。
1、在javascript与webView之间定一个协议约定:
myapp:myfunction:myparam1:myparam2
2、在javascript中添加代码:
documentlocation = "myapp:" + "myfunction:" + param1 + ":" + param2;
3、在webView的delegate方法webView:shouldStartLoadWithRequest:navigationType: 添加
- (BOOL)webView:(UIWebView )webView2
shouldStartLoadWithRequest:(NSURLRequest )request
navigationType:(UIWebViewNavigationType)navigationType {

NSString requestString = [[request URL] absoluteString];
NSArray components = [requestString componentsSeparatedByString:@":"];

if ([components count] > 1 &&
[(NSString )[components objectAtIndex:0] isEqualToString:@"myapp"]) {
if([(NSString )[components objectAtIndex:1] isEqualToString:@"myfunction"])
{

NSLog([components objectAtIndex:2]); // param1
NSLog([components objectAtIndex:3]); // param2
// Call your method in Objective-C method using the above
}
return NO;
}

return YES; // Return YES to make sure regular navigation works as expected
}

原生的写法:
documentgetElementsByTagName('a')onclick = function () {
}
用jQuery的话就这么写:
$('a')click(function(){
});

<table id="table_id">
<tr>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
</tr>
<tr>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
</tr>
<tr>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
</tr>
<tr>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
<td><p>1,1</p></td>
</tr>
</table>
<p>kkkkkkkkkk</p>
<script type="text/javascript">
var tb=documentgetElementById('table_id') //获取到这个table,用其它方法也可以
ps=tbgetElementsByTagName("p"),
trs=tbgetElementsByTagName("tr")
trsindex=function(tr){
for(var i=0;i<thislength;i++){
if(this[i]===tr)return i
}
}
for(var i=0;i<pslength;i++){
ps[i]onclick=function(){
var pp=thisparentNodeparentNode //要确定这样的层次,table里的p全在tr->td->里面
var tds=ppgetElementsByTagName("td")
tdsindex=trsindex
alert(tdsindex(thisparentNode)+"\n"+trsindex(pp))
}
}
</script>
索引已经有了,其中的规律你看下就明白了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13089959.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-30
下一篇 2023-05-30

发表评论

登录后才能评论

评论列表(0条)

保存