小编Sco*_*ott的帖子

jQuery .click()适用于除Safari之外的所有浏览器

我有一段JavaScript,它A在现有div 中动态创建一个标签,然后在其上调用jQuery函数"click".这适用于除Safari之外的所有浏览器.

Safari返回以下错误:

'undefined'不是函数(评估'$('.shell a')[0] .click()')

关于我做错了什么或者为什么这在Safari中不起作用以及如何使其工作(或者在所有浏览器中都能运行的一段代码)的任何想法我都试过使用.trigger("click")它也会出现同样的错误.

JavaScript的

function writeAndClickLink(url) {

    $('.shell').html('<a href="' + url + '"></a>');
    $('.shell a')[0].click();
}
Run Code Online (Sandbox Code Playgroud)

在HTML中:

<div class="shell"></div>
Run Code Online (Sandbox Code Playgroud)

我这样做的原因很简单,就是从Flash网站调用这个函数来打开一个推特窗口,我在那里给予推文奖励.到目前为止,这是我可以将"tweet"事件绑定到窗口的唯一方法.如果我以任何其他方式打开窗口(例如window.open),它不捕获绑定事件,让我知道他们实际完成了推文.

流程如下:

  • 用户点击flash中的tweet按钮
  • Flash调用javascript函数来动态编写href并"点击"它
  • Twitter窗口打开
  • 用户成功推文
  • 捕获Tweet事件并成功更新闪存
  • 内容在flash中解锁

javascript safari jquery click

33
推荐指数
3
解决办法
4万
查看次数

我可以修改Windows 7预览窗格,以便HTML文件只显示预览中的文本而不是呈现html吗?

当我在资源管理器中单击html文件时,预览窗格当前会尝试呈现预览的html.我希望这个行为只是在不解释标签的情况下向我展示文本.有没有办法通过搞乱注册表或在某处更改设置来做到这一点?

windows registry windows-explorer windows-7 preview-pane

6
推荐指数
2
解决办法
5028
查看次数

当两个值中的任何一个存在或缺失时的 Joi 验证

有三个参数: latitude, longitude, zipcode

我需要一个穰验证

  • 当存在或缺少邮政编码时需要纬度和经度
  • 当缺少纬度或经度时需要邮政编码。

像这样的东西?

Joi.object().keys({
    latitude: Joi.number().when('zipcode', { is: undefined, then: Joi.required() }),
    longitude: Joi.number().when('zipcode', { is: undefined, then: Joi.required() }),
    zipcode: Joi.number().when(['latitude', 'longitude'], { is: undefined, then: Joi.required() })
});
Run Code Online (Sandbox Code Playgroud)

我想有一个更优雅的解决方案,也许使用object.and()

javascript validation joi

5
推荐指数
1
解决办法
3515
查看次数