Javascript jQuery接管所有锚定标记
我已经为弹出窗口实现了jQuery和jQueryMobile,但是在一些测试之后,我注意到jQuery正在接管所有锚。如果我注释掉jQuery脚本的链接,其中一个和我的锚按预期工作,如果我取消注释它们,这些锚将再次被接管,并且不允许href正常运行。任何人都知道如何解决这个问题,至少可以说是相当恼人的。这是样品Javascript jQuery接管所有锚定标记,javascript,jquery,html,popup,anchor,Javascript,Jquery,Html,Popup,Anchor,我已经为弹出窗口实现了jQuery和jQueryMobile,但是在一些测试之后,我注意到jQuery正在接管所有锚。如果我注释掉jQuery脚本的链接,其中一个和我的锚按预期工作,如果我取消注释它们,这些锚将再次被接管,并且不允许href正常运行。任何人都知道如何解决这个问题,至少可以说是相当恼人的。这是样品 <div> <ul> <li><a href="http://www.somesite.com">Somesite</a>
<div>
<ul>
<li><a href="http://www.somesite.com">Somesite</a></li>
</ul>
</div>
<div>
<a href="#popupVideo" data-rel="popup" data-position-to="window" data-inline="true">Click</a>
<div data-role="popup" id="popupVideo" data-overlay-theme="a" data-theme="d" data-tolerance="15,15" class="ui-content">
<iframe width="560" height="315" src="http://www.somevideo.com" frameborder="0" allowfullscreen></iframe>
</div>
</div>
$( document ).on( "pageinit", function() {
winW = window.innerWidth;
winH = window.innerHeight;
$( "#popupVideo iframe" )
.attr( "width", 0 )
.attr( "height", 0 );
$( "#popupVideo" ).on({
popupbeforeposition: function() {
var size = scale( winW, winH, 15, 1 ),
w = size.width,
h = size.height;
$( "#popupVideo iframe" )
.attr( "width", w )
.attr( "height", h );
},
popupafterclose: function() {
$( "#popupVideo iframe" )
.attr( "width", 0 )
.attr( "height", 0 );
}
});
});
$(document).on(“pageinit”,function(){
winW=window.innerWidth;
winH=window.innerHeight;
$(“popupVideo iframe”)
.attr(“宽度”,0)
.attr(“高度”,0);
$(“#弹出视频”)。在({
PopupBeforLocation:函数(){
变量大小=刻度(winW、winH、15、1),
w=尺寸。宽度,
h=尺寸。高度;
$(“popupVideo iframe”)
.attr(“宽度”,w)
.attr(“高度”,h);
},
popupafterclose:函数(){
$(“popupVideo iframe”)
.attr(“宽度”,0)
.attr(“高度”,0);
}
});
});
然后我得到了jQuery示例附带的正确代码,该代码中没有特定于锚点和特定于id的内容。另外,如果我删除调整弹出窗口的脚本,它仍然不起作用,我唯一链接的就是jQuery文件。我也在使用最新的jQuery,如果这对1.9.1和mobile1.3.0有帮助的话。我使用的是1.2.0,但我认为更新的jQuery可能会解决这个问题,但没有用。提前谢谢。我很确定您指的是jQuery mobile的默认行为。jQuery mobile中锚定标记的默认行为是使用ajax请求: jquerymobile设计用于使用简单的页面链接约定。 基本上,您可以像平常一样链接页面和资产,并且 jQuery Mobile将在单个页面中自动处理页面请求 模型,尽可能使用Ajax。当Ajax不可用时(例如 非相同的域url,或者如果使用 链接),而是使用正常的http请求 此模型的目标是允许开发人员使用 最佳实践-普通链接在没有任何 特殊配置-同时创造丰富的本地体验 这是标准HTTP请求无法实现的 此外: 指向其他域或具有rel=“external”的链接, 数据ajax=“false”或目标属性不会使用ajax加载。 相反,这些链接将导致整个页面刷新,而不显示动画 过渡。两个属性(rel=“external”和data ajax=“false”) 具有相同的效果,但语义不同:rel=“external” 链接到其他站点或域时应使用,而 data ajax=“false”对于简单地选择页面非常有用 域不允许通过Ajax加载。由于安全限制,, 该框架总是在Ajax之外选择指向外部域的链接 行为 在版本1.1中,我们添加了对在服务器上使用数据ajax=“false”的支持 父容器,允许您排除大量链接 来自Ajax导航系统。这样就避免了添加此选项的需要 属性设置为容器中的每个链接。要激活这个 功能,$.mobile.ignoreContentEnabled必须设置为true。 在使用和设置此选项之前,请检查配置默认值 选择权 注意:在构建jQuery移动应用程序时 导航系统在上全局禁用或经常禁用 对于单个链接,建议禁用$.mobile.pushStateEnabled 全局配置选项以避免不一致的导航行为 在某些浏览器中
向我们展示你的javascript代码。说真的,为什么你不认为你的javascript代码很重要?特别是在这个问题上,我添加了JS,即使我删除了代码,链接仍然不起作用,弹出窗口仍然在尝试出现。这只是调整弹出窗口的大小……当您只包含jQuery js脚本时,不会发生这种情况。所以我们需要看看你加了什么你有我的密码。。。锚定链接和弹出视频我刚刚取出了href链接,因为它们不向公众开放。我看到了对快速和直接响应的感谢。我想我必须为这个页面找到更好的解决方案。再次感谢。您可以始终排除父对象以处理大量链接。