相关疑难解决方法(0)

我应该将哪个"href"值用于JavaScript链接,"#"或"javascript:void(0)"?

以下是构建链接的两种方法,其唯一目的是运行JavaScript代码.哪个更好,在功能,页面加载速度,验证目的等方面?

function myJsFunc() {
    alert("myJsFunc");
}
Run Code Online (Sandbox Code Playgroud)
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
Run Code Online (Sandbox Code Playgroud)

要么

function myJsFunc() {
    alert("myJsFunc");
}
Run Code Online (Sandbox Code Playgroud)
 <a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
Run Code Online (Sandbox Code Playgroud)

html javascript optimization performance href

3980
推荐指数
51
解决办法
224万
查看次数

event.preventDefault()与return false(没有jQuery)

我想知道是否event.preventDefault()return false是一样的.

我做了一些测试,似乎

  • 例如,如果使用旧模型添加事件处理程序

    elem.onclick = function(){
        return false;
    };
    
    Run Code Online (Sandbox Code Playgroud)

    然后,return false防止默认操作,如event.preventDefault().

  • 如果事件处理程序使用添加addEventListener,例如

    elem.addEventListener(
        'click',
        function(e){
            return false;
        },
        false
    );
    
    Run Code Online (Sandbox Code Playgroud)

    然后,return false不会阻止默认操作.

所有浏览器的行为都是这样的吗?

event.preventDefault()和之间有更多的区别return false吗?

我在哪里可以找到一些文档(我不能在MDN中)关于在某些情况下的return false行为event.preventDefault()


我的问题只是简单的javascript,而不是jQuery,所以请不要将它标记为event.preventDefault()与return false的重复,即使两个问题的标题几乎相同.

javascript events event-handling dom-events preventdefault

78
推荐指数
2
解决办法
7万
查看次数

当与jquery slidetoggle一起使用时,链接href ="#"将页面滚动到顶部

可能重复:
当单击一个触发javascript的链接时,如何阻止网页滚动到顶部?

我正在使用jquery的slidetoggle来显示/隐藏div.控制滑动的元素是文本链接(<\ a>中的一些文本),它具有href ="#",因此它看起来像一个链接(下划线,光标更改).

问题是,当点击链接时,除了滑动效果,页面滚动到顶部.

我尝试用href =""替换href ="#",但是禁用了div显示/隐藏效果.我想我可以添加标签Name ="somename",然后将href设置为href ="#somename",但我宁愿不使用这样的技巧.

为什么href ="#"将页面滚动到顶部?

任何想法都将受到高度赞赏

jquery scroll href toggle slide

27
推荐指数
2
解决办法
3万
查看次数

在AJAX请求后停止滚动到顶部

可能重复:
当单击一个触发javascript的链接时,如何阻止网页滚动到顶部?

我的浏览器在ajax请求之后滚动到顶部然后我使用

 $('html, body').animate({ scrollTop: $('#loadMore').offset().top }, 2000);
Run Code Online (Sandbox Code Playgroud)

滚动回我的div.有没有办法阻止它从头开始滚动到顶部

javascript ajax jquery scroll

19
推荐指数
3
解决办法
3万
查看次数

"#"(哈希标记,数字符号)如何关闭模态框?

我最近阅读了有关创建纯CSS模式框的文章:

我已经测试了代码并且效果很好.我正在将它用于我网站的联系和注册/登录页面.

我还没有完全掌握代码的一部分.

这是怎么回事......

<a href="#close" title="Close" class="close">X</a>
Run Code Online (Sandbox Code Playgroud)

...... 关上盒子?

CSS中close没有任何内容隐藏或删除带有类的元素,也没有任何类似的函数定位href,#close或者title.它只是一行代码本身,当用户点击它时,模态窗口关闭(整齐而优雅,我可能会添加).

很明显,"关闭"文本并不重要.文本可以是任何东西,功能也可以.但如果删除"#",则样式会失败,但窗口仍会关闭.

那么"#"有什么特别之处呢?

.modalDialog {
  position: fixed;
  font-family: Arial, Helvetica, sans-serif;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 99999;
  opacity: 0;
  transition: opacity 400ms ease-in;
  pointer-events: none;
}
.modalDialog:target {
  opacity: 1;
  pointer-events: auto;
}
.modalDialog > div {
  width: 400px;
  position: relative;
  margin: 10% auto;
  padding: 5px 20px 13px 20px;
  border-radius: 10px;
  background: …
Run Code Online (Sandbox Code Playgroud)

html css modal-dialog css3

12
推荐指数
2
解决办法
1534
查看次数

按钮onClick使页面跳转到页面顶部

我的页面上有几个按钮,onclick它们显示或隐藏了一些<div>元素.

<div>元件被定位成朝向页面的底部,以便滚动到那些<div>元件是必要的.

每当我点击一个按钮,页面就会跳到顶部.那么如何创建锚点,以便当用户单击按钮时它将保留在页面的该部分?

这是一个按钮:

<p class="text-center"><a id="Button-1" class="btn btn-default" href="#" role="button">View Details</a></p>
Run Code Online (Sandbox Code Playgroud)

<div>是单击上面按钮时出现的内容:

<div class="row">
    <div id="Section-1" class="col-md-10">
        <p>The section to appear.</p>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是JavaScript:

$("#Button-1").click(function () {
    $("#Section-2").hide();
    $("#Section-3").hide();
    $("#Section-1").toggle("show");
    $("#Button-1").text(function(i, text) {
        return text === "View Details" ? "Hide Details" : "View Details";
    });
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这是我的研究:

第1条

任何帮助,将不胜感激.

UPDATE

<p class="text-center"><a id="Button-1" class="btn btn-default" href="javascript:void();" role="button">View Details</a></p>
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时...我向下滚动以查看出现的div ..然后单击另一个按钮(看起来与上面完全相同),页面返回到顶部.

html javascript jquery

7
推荐指数
2
解决办法
2万
查看次数

单击链接时,Android Webview 会滚动到顶部

我有一个 Webview 在我的应用程序中加载静态 html 内容。

问题是,当我单击链接或嵌入内容(推文、youtube 视频)时,网络视图会滚动回顶部

它看起来像这里提到的 JS 问题

我尝试使用 NestedScrollView 或一些带有参数的技巧,例如

android:focusableInTouchMode="true"

在 LinearLayout 父级中,但没有任何效果

这是我的 xml :

  <android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <WebView
      android:id="@+id/article_webview"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"/>
  </android.support.v4.widget.NestedScrollView>
Run Code Online (Sandbox Code Playgroud)

它将在回收商视图中

我的问题是:

有没有办法在 webview 设置或 xml 中防止这种行为?

谢谢 !

android scroll webview android-recyclerview

7
推荐指数
1
解决办法
955
查看次数

用"阅读更多"和"少阅读"用JavaScript截断文本

如果我错误地设置了这个问题,或者之前已经被问过并回答过,我的道歉,我的搜索出现了类似于QQuery的问答,而我正在寻找一个纯粹的JavaScript解决方案.

var len = 100;
var p = document.getElementById('shrinkMe');
if (p) {

 var trunc = p.innerHTML;
 if (trunc.length > len) {

trunc = trunc.substring(0, len);
trunc = trunc.replace(/\w+$/, '');

trunc += '<a href="#" ' +
  'onclick="this.parentNode.innerHTML=' +
  'unescape(\''+escape(p.innerHTML)+'\');return false;">' +
  'Read More<\/a>';
p.innerHTML = trunc;
  }
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

小提琴用JavaScript截断文本,但是在它的当前状态下它只是一次出现,这不是我需要的.我在html的主体中多次出现'shrinkMe'作为div id,并且当使用.getElementById时,需要调整它,因为当点击"Read More"时它会同时扩展所有出现的时刻.我相信更改为.getElementsByClassName可能是一个解决方案,使我能够多次出现一个类名,而不是被限制为.getElementById的一个实例,但我不确定如何进行切换.

我也在寻找一个可点击的"Read Less",一旦点击"Read More","Read Less"将文本返回到截断状态,"Read More"再次可见,依此类推.

总之,我正在寻求帮助:

  1. 将.getElementById切换为.getElementsByClassName
  2. 添加"阅读更少"以显示帖子"阅读更多"点击.

感谢您花时间阅读此内容 - 抱歉,如果我无意中无意中也不清楚.如果是这样,请告诉我,我会尝试进一步解释.

javascript

3
推荐指数
1
解决办法
2080
查看次数

href ="#"强制页面重新定位到顶部 - 我该如何阻止它?

可能重复:
当单击一个触发javascript的链接时,如何阻止网页滚动到顶部?

当我在我的网页上点击jQuery日期选择器的日期时,我的页面将自己重新定位到顶部,因为datepicker上的日期具有href="#"属性.

似乎每当我点击一个<a>元素,href="#"然后我的页面重新定位自己从页面顶部显示.这非常令人讨厌,因为用户不得不应对移动的页面,甚至可能只需滚动它们就可以在点击之前查看他们正在使用的页面部分.谁能告诉我如何阻止这种情况发生?

我可以href从我的一些链接中获取属性,但是jQuery小部件通常会将它们包含在内.

非常感谢

html

2
推荐指数
2
解决办法
2793
查看次数

如何通过空超链接跳转来阻止页面滚动?

在Tumblr和其他一些网站上,当您垂直滚动X个像素数量时,会出现一个箭头,通过锚链接将您带到顶部.(我相信这是正确的术语.)它们基本上是<a>标签,其href属性为#.

在我看来,锚链接看起来比你的"javascript:void(0)更多 '更清晰'; 更多的代码在这里... "

除了Tumblr上的锚点链接滚动到顶部之外,网页中有许多GUI元素使用"空白#标签链接",但它们不用于滚动,而是用于干净的空链接.当单击它们时,它们不会将页面滚动到顶部,而是调用JavaScript函数来显示元素,执行任务等.

据我所知,这些链接没有附加JavaScript事件来停止滚动.(例如onclick ="window.event.preventDefault()".

我错过了什么吗?

编辑:

我面临的个人问题是我想要一个空的超链接(在我的顶部导航栏上),但我不希望页面在点击时滚动到顶部(默认操作可能是每个浏览器).如何使用/不使用JavaScript进行修复?

编辑:

可能解决此问题.非JavaScript:使用坐标(0,0)修复元素的位置,并将空链接链接到它.(但它仍然不会是空的:()

html anchor hashtag

0
推荐指数
1
解决办法
2197
查看次数

在href lnks中使用javascript void(0)的替代方法是什么?(适用于Backbone和SPA网站)

在我的网络应用程序中,许多功能作为链接暴露为具有暴露该功能的onclick处理程序,但实际链接设置为javascript void(0),如此...

<a href="javascript:void(0)" onclick="myApp.callJen(1303, this)" rel="nofollow">Call Jennifer</a>
Run Code Online (Sandbox Code Playgroud)

当我的应用程序注入Backbone.js和Angular等单页应用程序(SPA)时,这些链接看起来并不好用.有时在这些站点中单击此链接将转到未找到的实际页面(不确定为什么会发生这种情况).

无论如何我应该如何替换这些网站的链接?

我们现在说使用真实的URL或按钮不是一个选项.

其他帖子建议这样的东西..

<a href="#!">Link</a>
Run Code Online (Sandbox Code Playgroud)

或者 ......

// Cancel click event
$('.cancel-action').click(function(){
alert('Cancel action occurs!');
});

a { cursor: pointer; color: blue; }
a:hover,a.hover { text-decoration: underline; }
 <a class="cancel-action">Cancel this action</a>
Run Code Online (Sandbox Code Playgroud)

老实说,我不喜欢其中任何一种,所以你能提出更好的建议吗?

html javascript optimization href backbone.js

0
推荐指数
1
解决办法
4683
查看次数