防止在内部 JavaScript 函数中滚动到顶部的任何方法
Any way to prevent scrolling to top in the inner javascript function?
什么是
javascript/jQuery解决方案,以防止在单击内部javascript函数inner()
的链接时滚动到顶部?
解决方案应该在内部函数中。是否可以不将事件作为参数传递? 下面的代码中提供了其他解决方案并附有解释,但是没有人在inner()
中用作解决方案。代码如下。请滚动到最下面的链接。inner()
函数中的最低链路需要该解决方案。
这是jsFiddle代码:
.html:
<div>
<p><a href="#">it jumps</a></p>
<p><a href="#">it jumps</a></p>
<p><a href="#">it jumps</a></p>
<p><a href="#">it jumps</a></p>
<p><a href="javascript:void(0);" id="jsSolution">no jumps - jsSolution</a></p>
<p><a href="#" id="jqSolution">no jumps - jqSolution</a></p>
<p><a href="#!">no jumps - html Solution</a></p>
<p><a href="#" id="problem">how to prevent this from jumping - javascript solution in the add() function</a></p>
</div>
JavaScript:
$(function(){
function inner(){
//prevent from scrolling to top here - solution is needed here;
return 4;
}
function add() {
alert('how to prevent jumping to top in the add function');
var counter = 0;
var res=inner();
alert(res);//4
//some code goes here
//and here
//this doesn't work e.preventDefault();
return counter;
}
$('#jqSolution').click(function(e) {
//return false;
e.preventDefault(); // same thing as above
});
$('#problem').click(function(e) {
add();
});
});
包括jQuery库。
.css:
div{
border:1px solid red;
width:200px;
}
p{
padding:50px;
}
谢谢。
附言链接 href="#" 不能更改,javascript 代码不应该被销毁。
我不认为我完全得到了你,但你可以使用 preventDefault 这样就不会执行锚标签的默认操作。Js 对您的小提琴进行了一些更改以使其工作:-
http://jsfiddle.net/sahilbatla/guxdku9w/2/
$(function(){
function inner(e){
e.preventDefault();
//prevent from scrolling to top here - solution is needed here;
return 4;
}
function add(e) {
alert('how to prevent jumping to top in the add function');
var counter = 0;
var res=inner(e);
alert(res);//4
return counter;
}
$('#jqSolution').click(function(e) {
//return false; // prevent default click action from happening
e.preventDefault(); // same thing as above
});
$('#problem').click(function(e) {
add(e);
});
});
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- jQuery中是否内置了任何字符串格式化函数
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 有任何可能将facebook实时信使整合到一个网站中
- 是否有任何方法可以使用jQuery替换在数组中定义值的文本
- AJAX:$_GET不返回任何值
- 在同一个服务工作者中处理service-worker.js有任何影响吗
- 点击更改顶部位置不会有任何作用
- 防止在内部 JavaScript 函数中滚动到顶部的任何方法
- 通过单击任何单元格或表格数据及其左侧和顶部标题进行查找
- 如何确保我的css覆盖在任何网站的顶部
- JQUERY”;点击滚动“;单击任何内容时都会返回顶部
- 将回调函数从任何子框架传递到顶部窗口的最有效方法
- 什么是一个可靠的方法来实现一个始终在顶部覆盖在一个html页面,它可以注入到任何现有的页面
- IE createRange().如果未选择任何内容,则pasteHTML将粘贴到页面顶部
- 如何防止任何iframe或任何其他脚本在顶部窗口更改文档的标题
- 我可以嵌入一个YouTube视频没有任何链接到 YouTube在视频的顶部