停止通过URL打开jQuery的模态时滚动ID

我需要能够在页面上打开一个ID'd jQuery UI的模态时态的ID在页面的URL传递。 例如:

http://mysite.com/visit.html#directions

#directions规划是一个ID'd DIV在页面的最下方,收盘BODY元素之前。 它实例化为在页面加载一个jQuery UI对话框,然后我运行一个函数来检查模式的ID当前的URL。 如果URL中包含模态的ID,模式被打开。

下面是我的自动打开的功能是这样的:

function autoOpenModal() { if ( document.location.href.indexOf('#') ) { var uriParts = document.location.href.split('#'); var hashID = '#' + uriParts[1]; if ( $(hashID) && $(hashID).hasClass('dialog')) { $(hashID).dialog('open'); } } }

我遇到的问题是模态打开 ,浏览器会自动在页面的底部向下滚动到ID。 因此,当用户关闭模式他们是在页面的底部(这似乎是“破”给我)。

谁能告诉我如何阻止自动向下滚动到ID,请在浏览器? 我有一个看看event.preventDefault()但没有成功; 我不知道在哪里或如何在事件链中使用它。

--------------解决方案-------------

如果这是你的URL“http://mysite.com/visit.html#directions”网络浏览器应该总是跳转到“方向”,因为这是问什么的吧。 而不是使用“#”的,也许你可以使用一个查询字符串。

http://en.wikipedia.org/wiki/Query_string

请返回从内假autoOpenModal()函数:

function autoOpenModal() {
if ( document.location.href.indexOf('#') ) {
var uriParts = document.location.href.split('#');
var hashID = '#' + uriParts[1];
if ( $(hashID) && $(hashID).hasClass('dialog')) {
$(hashID).dialog('open');
}
}
return false;
}

分类:jQuery的 时间:2015-03-14 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.802 (s). 10 q(s)