我知道这个问题: JavaScript 链接应该使用哪个“href”值,“#”还是“javascript:void(0)”?包含关于 javascript 链接的正确 href 内容应该是什么的讨论。这与 508 合规性有何关系?有谁知道当点击处理程序在 javascript 代码中的其他地方定义时 javascript:void(0) 是否可以接受?
现在我使用:
href="javascript:void(0)"
Run Code Online (Sandbox Code Playgroud)
为我的 a 标签。
但是,我发现这很混乱,并且它也会在鼠标悬停时在 FireFox 中显示给用户。
我正在考虑做的是用普通的 p 标签替换我的链接,并在 JavaScript 中设置事件处理程序。
澄清:
这仅适用于支持 JavaScript 的现代浏览器。我目前还不关心可访问性。
如果我使用<a>标记点击事件来触发ajax调用,并且我不希望链接实际上去任何地方,那么href属性的正确值是什么?
它是'#'还是只是留空?
(我理解这带来的可访问性问题).
跟随锚标签的累积效果是什么,如下所示:
/**
* This function will create a popup iFrame (not a complete function)
*/
function CreateIframe() {
// This is just a sample and not complete code
var iframe = document.createElement('iframe');
// Initialize and create iFrame and popup iFrame
}Run Code Online (Sandbox Code Playgroud)
<a href="javascript:void(0)" onclick="CreateIframe();return false;" >Click here!</a>
Run Code Online (Sandbox Code Playgroud)
我已经看过(和使用过)代码在我的生活中有多次链接产生一个javascript动作,但是我从来没有得出关于href属性是空白还是#的结论.你有这样或那样的偏好,如果有的话,为什么?
<a href="" onclick="javascript: DoSomething();">linky</a>
Run Code Online (Sandbox Code Playgroud)
要么
<a href="#" onclick="javascript: DoSomething();">linky</a>
Run Code Online (Sandbox Code Playgroud) 在执行javascript函数后,网页返回到页面顶部时出现了一个小问题.
基本上,我有一个小的javascript函数,通过改变它的显示风格来切换div的可见性.代码如下:
<script type="text/javascript">
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
Run Code Online (Sandbox Code Playgroud)
然后我用一个看起来像这样的链接调用它:
<a href="#" onclick="toggle_visibility('001');" class="expand">[+/-] Hide/Show Info</a>
Run Code Online (Sandbox Code Playgroud)
div看起来像这样:
<div id="001" style="display:none;">
hello world
</div>
Run Code Online (Sandbox Code Playgroud)
这很好用.但是当我点击我的"展开/隐藏"链接以切换div的可见性时,页面总是返回到顶部,所以我每次都必须向下滚动到底部.
我尝试在我的javascript函数结束时添加以下更改,但它们都不起作用:
window.location = 'test.php#' + id; //where test.php is my current page
Run Code Online (Sandbox Code Playgroud)
和
window.location.hash=id;
Run Code Online (Sandbox Code Playgroud)
任何帮助将在修复此问题时受到赞赏谢谢.
当用户单击链接时,我尝试防止页面重新加载,所以我写道:
<a href="javascript: return false">bla</a>
Run Code Online (Sandbox Code Playgroud)
或者
<a href="#">bla</a>
Run Code Online (Sandbox Code Playgroud)
说真的,我不喜欢使用,#因为当用户单击链接时,地址栏上的 url 添加了符号 #,它使 url 看起来很难看。所以我更喜欢使用javascript: return false但萤火虫显示错误:“返回不在功能中”,我可以知道如何修复错误吗?
我a href指出了什么#
<a href="#" id="bla" >Bla<a>
Run Code Online (Sandbox Code Playgroud)
我有onclick功能,点击一个href显示弹出窗口.
function doingClick()
{
//display popup
return false;
}
Run Code Online (Sandbox Code Playgroud)
但是#每次点击符号后都会在浏览器中添加到网址中.
因此,例如,如果在点击我的链接之前url是那样的话 http://mywebsite.com
但点击a href看起来像这样的网址:http://mywebsite.com#
有没有办法避免这种行为?
我有一个很长的HTML页面,在模态打开页面滚动到顶部,可以通过删除href ="#"来解决
<a href="#" id="myId">Click me to open modal</a>
Run Code Online (Sandbox Code Playgroud)
但删除它,它会将锚标记上"hand"的鼠标悬停显示更改为"text blinker".
如何在href="#"不丢失财产的情况下摆脱?
为什么用户单击列表中的链接会导致浏览器闪烁?当用户点击两次相同的"链接"时,这似乎非常明显.我有办法消除这种情况吗?
如果单击向上滚动而不是向下滚动的链接,似乎也会发生这种情况.要测试此项,请单击列表项" 测试 ",然后单击" 为什么 "
https://jsfiddle.net/JokerMartini/9vne9423/
这是主要的JS位正在做所有的工作......
JS
function scroll_to_element(element) {
$('html, body').animate({scrollTop: $(element).offset().top}, 500);
}
$(window).ready(function() {
$(".nav-title").click(function() {
var target = $(this);
// get data-filter text
var title = target.data('title').toLowerCase();
// collect section titles
sections = $( ".section-title" );
// loop through and scroll to valid section
for (i = 0; i < sections.length; i++) {
var section = $(sections[i]);
var section_title = section.data('title').toLowerCase();
if (section_title === title) {
scroll_to_element(section)
// console.log(target);
}
}
});
});
Run Code Online (Sandbox Code Playgroud)