UIWebView Javascript onclick 事件未将事件对象发送到函数

Posted

技术标签:

【中文标题】UIWebView Javascript onclick 事件未将事件对象发送到函数【英文标题】:UIWebView Javascript onclick event not sending event object to function 【发布时间】:2013-04-30 14:12:17 【问题描述】:

我正在使用简单的 NSStrings 动态插入 html,然后将其加载到 UIWebview 中,我正在这样做:

[NSString stringWithFormat:@"<div onclick=\"MyClickEvent(e);\"....some more text here">

并且有一个这样定义的函数:

function MyClickEvent(e)

    //Some other code here
    e.stopPropagation();
    return false;

函数永远不会被调用,因为参数作为 e 传递的方式,如果我使用这样的引号:

[NSString stringWithFormat:@"<div onclick=\"MyClickEvent('e');\"....some more text here">

然后函数会被调用,但e只是一个简单的字符串,我该如何正确传递事件对象?

最后的 HTML 看起来像这样:

<div onclick="MyClickEvent(e);">

我认为应该是这样,但不知何故事件对象没有被发送,我做错了什么?

【问题讨论】:

【参考方案1】:

我让它工作了,显然你需要做的是:

[NSString stringWithFormat:@"<div onclick=\"MyClickEvent(event);\"....some more text here">

所以简单地命名参数事件就可以了。

【讨论】:

以上是关于UIWebView Javascript onclick 事件未将事件对象发送到函数的主要内容,如果未能解决你的问题,请参考以下文章

Javascript 不会在 UIWebView 上运行

UIWebView 啥时候开始识别 Javascript 代码

嵌入在 UIScrollview 中的 UIWebview 中的 Javascript 触摸事件

使用 JavaScript 的 UIWebView CSS 注入

如何检测 uiWebView 上 javascript 操作的启动?

关于iOS10 JavaScript & UIWebview 界面