jQuery单击不在Safari中工作

时间:2012-12-13 15:50:08

标签: javascript jquery safari

出于某种原因,这个脚本在Safari中不起作用(在Windows上测试过,认为它也发生在Mac上):

$("#searchTerms").focus(function() {
    $(document).keypress(function(e) {
        if(e.which == 13) {
            $("#searchBtn img").click();
        }
    });
});

jsFiddle:http://jsfiddle.net/ux86V/

当用户按下回车时,该脚本应该点击一个图像,同时专注于一个搜索框(它必须以这种方式设置,它与一些奇怪的第三方服务相关联)。

编辑:它似乎在jsFiddle中根本不起作用,但确实如此,所以不要只假设整个脚本都不好。我认为jSFiddle只是阻止重定向,我将其设置为重定向到google.com以获取示例。

编辑2:.click()似乎存在问题。有没有我可以使用的替代方法,或.click()是在元素上注册点击的唯一方法吗?

编辑3:经过更多测试后,似乎jQuery点击事件在某种程度上无法正常工作。它可能与表单的提交方式有关,我不确定。链接到现场演示:http://www.weblinxinc.com/beta/blue-sky-marketing/demo/

2 个答案:

答案 0 :(得分:0)

13是输入密钥的代码,它是一个特殊密钥,你只能在keyup上抓住它

答案 1 :(得分:0)

尝试使用trigger();

$("#searchTerms").focus(function() {
    $(document).keyup(function(e) {
        if(e.which == 13) { 
            $("#searchBtn img").trigger("click");
        }
    });
});​