我有一段 JavaScript 可以A
在现有 div 中动态创建一个标签,然后在其上调用 jQuery 函数“单击”。这在除 Safari 之外的所有浏览器中都可以正常工作。
Safari 返回以下错误:
'undefined' 不是函数(评估 '$('.shell a')[0].click()')
关于我做错了什么或为什么这在 Safari 中不起作用以及如何让它起作用的任何想法(或在所有浏览器中起作用的一段代码)我也尝试过使用.trigger("click")
它并且它给出了相同的错误.
JavaScript
function writeAndClickLink(url) {
$('.shell').html('<a href="' + url + '"></a>');
$('.shell a')[0].click();
}
在 HTML 中:
<div class="shell"></div>
我以这种奇怪的方式这样做的原因是从 Flash 站点调用该函数以打开一个 Twitter 窗口,在该窗口中我奖励发推文。到目前为止,这是我可以让“tweet”事件绑定到窗口的唯一方法。如果我以任何其他方式打开窗口(例如 window.open),它不会捕获让我知道他们实际完成推文的绑定事件。
流程类似于:
- 用户在 Flash 中单击推文按钮
- Flash调用javascript函数动态写入href并“点击”它
- 推特窗口打开
- 用户成功发推文
- Tweet 事件被捕获并成功更新闪烁
- 内容在 Flash 中解锁