用url参数触发jQuery click事件?

时间:2012-11-21 12:04:12

标签: jquery

我的页面上有一个jQuery点击功能,触发了反馈表单div的打开。基本上我想指定一个触发此事件的URL,而不需要点击它。比如foo.com?formopen

这可能吗?我想我需要通过网址传递一些数据,但不知道如何去做。

2 个答案:

答案 0 :(得分:9)

在您的网址中使用哈希,如:

foo.com#formopen

然后在加载中找到哈希,如:

$(function(){

   if (window.location.hash){
      var hash = window.location.hash.substring(1);
      if (hash == "formopen"){
         openFeedbackForm();
      }
   }

});

<强>样本:

代码:http://jsfiddle.net/J5cxc/

没有哈希的演示:http://fiddle.jshell.net/J5cxc/show(无警报)

使用哈希进行演示:http://fiddle.jshell.net/J5cxc/show/#foobar(已提醒警报)

答案 1 :(得分:0)

嘿,有很多方法可以做到这一点。

方法一 - 使用查询字符串参数

在您的网址传递查询字符串值,表示应该打开表单。

所以你的网址是

www.foo.com?feedback=true

然后在JS中你可以这样做:

var params = {};
var ps = window.location.search.split(/\?|&/);
for (var i = 0; i < ps.length; i++) {
    if (ps[i]) {
        var p = ps[i].split(/=/);
        params[p[0]] = p[1];
    }
}
if(params.feedback){
     $(".feedback-div").show();
}

方法二 - 在网址

中使用哈希标记

您的网址将如下:

www.foo.com#feedback

在你的JS中:

if(window.location.href.indexOf("#feedback") > -1) {
     $(".feedback-div").show();
}