Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript检测内联链接?_Javascript_Jquery_Html - Fatal编程技术网

如何使用javascript检测内联链接?

如何使用javascript检测内联链接?,javascript,jquery,html,Javascript,Jquery,Html,假设我有一个网页index.html。假设客户端转到index.html#Section 2。这会将客户机带到页面中具有块级元素的部分,该元素的名称属性为section2 如何在javascript中检测此内联链接?具体来说,如果用户转到index.html#section2,我想在javascript中运行某个函数 我也愿意使用jQuery。谢谢大家! 在窗口.location.hash属性上执行开关 switch(window.location.hash) { case '#s

假设我有一个网页
index.html
。假设客户端转到
index.html#Section 2
。这会将客户机带到页面中具有块级元素的部分,该元素的名称属性为
section2

如何在javascript中检测此内联链接?具体来说,如果用户转到
index.html#section2
,我想在javascript中运行某个函数


我也愿意使用jQuery。谢谢大家!

窗口.location.hash
属性上执行
开关

switch(window.location.hash) {    
   case '#section1':
      foo();
   case '#section2':
      bar();
}
注意-所有主要浏览器都支持
哈希
属性

编辑-
@IvanCastellanos对新的
hashchange
事件以及底层浏览器缺乏支持的看法是正确的。如果OP需要处理这种情况,那么插件的开销可能是必要的-正如他在回答中指出的

窗口.location.hash
属性上执行
开关

switch(window.location.hash) {    
   case '#section1':
      foo();
   case '#section2':
      bar();
}
注意-所有主要浏览器都支持
哈希
属性

编辑-
@IvanCastellanos对新的
hashchange
事件以及底层浏览器缺乏支持的看法是正确的。如果OP需要处理这种情况,那么插件的开销可能是必要的-正如他在回答中指出的

将jQuery与此jQuery插件一起使用

然后你可以做:

$(window).bind( 'hashchange', function( event ) {
    if(window.location.hash === "#section2"){
        // What you want to do
    }
})
或者,如果不想使用jQuery,只需使用onclick事件即可

<a href="#section2" onclick="changed()"></a>

将jQuery与此jQuery插件一起使用

然后你可以做:

$(window).bind( 'hashchange', function( event ) {
    if(window.location.hash === "#section2"){
        // What you want to do
    }
})
或者,如果不想使用jQuery,只需使用onclick事件即可

<a href="#section2" onclick="changed()"></a>

此解决方案仅在用户从index.html#section 2启动时有效,但在用户单击页面内部的链接时无效。此解决方案仅在用户从index.html#section 2启动时有效,但在用户单击页面内部的链接时无效。具有
id
属性
section 2
name
已弃用。具有
Section 2
id
属性<代码>名称
已弃用。谢谢!我喜欢jQuery解决方案。显然,它没有插件也能工作。嗯。@ChiZeng该插件适用于不支持
窗口.hashchange
事件的浏览器。不使用
hashchange
事件的缺点是,如果
hash
通过单击锚以外的其他方式更改,则该应用程序的状态可能会被丢弃……谢谢!我喜欢jQuery解决方案。显然,它没有插件也能工作。嗯。@ChiZeng该插件适用于不支持
窗口.hashchange
事件的浏览器。不使用
hashchange
事件的缺点是,如果
hash
通过单击锚以外的其他方式更改,则该应用程序的状态可能会被丢弃。。。