如何在JavaScript中禁用href链接?
我有一个标签如何在JavaScript中禁用href链接?,javascript,html,Javascript,Html,我有一个标签1234,在某些情况下,我希望这个标签被完全禁用 来自注释的代码(这是链接的生成方式) if(n\u索引!=n\u页) a=a+''; 其他的 a=a+''; a=a+''; 改用span和javascript onclick。如果您有链接和“#”href,某些浏览器会“跳转”。如果您不希望用户在单击时重定向,请尝试此操作 <a href="javascript: void(0)">I am a useless link</a> 您只需给它一个空哈希: an
1234
,在某些情况下,我希望这个标签被完全禁用
来自注释的代码(这是链接的生成方式)
if(n\u索引!=n\u页)
a=a+'';
其他的
a=a+' ';
a=a+'';
改用span和javascript onclick。如果您有链接和“#”href,某些浏览器会“跳转”。如果您不希望用户在单击时重定向,请尝试此操作
<a href="javascript: void(0)">I am a useless link</a>
您只需给它一个空哈希:
anchor.href = "#";
或者,如果“禁用”还不够好,请使用事件处理程序:
anchor.href = "javascript:void(0)";
为jquery安装这个插件并使用它 它允许您禁用/启用页面中几乎任何字段 如果您想在某些情况下打开页面,请编写java脚本函数并从href调用它。如果条件满足,你就打开页面,否则什么也不做 代码如下所示:
<a href="javascript: openPage()" >Click here</a>
and function:
function openPage()
{
if(some conditon)
opener.document.location = "http://www.google.com";
}
}
a {}
<a href='javascript: void(0);' id="myLink">click here</a>
其中一个肯定有用哈哈谢谢大家
我的问题通过以下代码解决:
<a href="javascript:void(0)"> >>> </a>
禁用链接的最简单方法就是不显示链接。每当您想测试您的条件是否满足时,运行此功能以隐藏上一个按钮(用您的条件替换
if(true)
):
var testHideNav=function(){
var aTags=document.getElementsByTagName('a'),
atl=aTags.length,
我
对于(i=0;i
然后在需要检查您的状况是否发生变化时,运行testHideNav()。这也是可能的:
<a href="javascript:void(0)" onclick="myfunction()">
将执行函数时,链接不会移动到任何地方。因此,上述解决方案使链接无法工作,但不会使链接不再有效(AFAICT)可见。我有一种情况,我有一系列的页面,我想禁用(并使它明显地被禁用)指向当前页面的链接 因此: 这将遍历链接列表,找到指向当前页面的链接(n_root3可能是本地的,但我认为
文档
必须有类似的内容),并用链接文本内容替换链接
嗯
您可以使用此样式类停用页面中的所有链接:
a {
pointer-events:none;
}
现在的诀窍当然是仅在需要时停用链接,这是如何做到的:
使用空的类,如下所示:
<a href="javascript: openPage()" >Click here</a>
and function:
function openPage()
{
if(some conditon)
opener.document.location = "http://www.google.com";
}
}
a {}
<a href='javascript: void(0);' id="myLink">click here</a>
然后,如果要停用链接,请执行以下操作:
GetStyleClass('a').pointerEvents = "none"
function GetStyleClass(className)
{
for (var i=0; i< document.styleSheets.length; i++) {
var styleSheet = document.styleSheets[i]
var rules = styleSheet.cssRules || styleSheet.rules
for (var j=0; j<rules.length; j++) {
var rule = rules[j]
if (rule.selectorText === className) {
return(rule.style)
}
}
}
return 0
}
有关浏览器兼容性的信息,请查看此页面
我认为这是最好的办法,但可悲的是(像往常一样,不允许这样做:)
不管怎样,我还是要发布这篇文章,因为我认为它包含了有用的信息,并且因为有些项目使用了know浏览器,比如在移动设备上使用web视图时
如果您只想停用一个链接(我只知道这是个问题),我会使用一个函数,根据该条件手动设置当前页面的url,或者不设置。
(就像您接受的解决方案)
这个问题比我想象的要简单得多:)下面是禁用链接的代码:
<a href="javascript: void(0)">test disabled link</a>
另一个非常简单的解决方案是:
<a href="#">test disabled link</a>
第一种解决方案是有效的。另一种禁用链接的方法
element.removeAttribute('href');
不带href的锚定标记将作为禁用/纯文本响应
<a> w/o href </a>
看
希望这很好。尝试使用jQuery:
$(function () {
$('a.something').on("click", function (e) {
e.preventDefault();
});
});
$(document).ready(function() {
$("#myLink").on('click', doSubmit);
});
var doSubmit = function() {
$("#myLink").off('click');
// do things here
};
我也有类似的需求,但我的动机是防止链接被双击。我使用jQuery完成了它:
$(function () {
$('a.something').on("click", function (e) {
e.preventDefault();
});
});
$(document).ready(function() {
$("#myLink").on('click', doSubmit);
});
var doSubmit = function() {
$("#myLink").off('click');
// do things here
};
HTML如下所示:
<a href="javascript: openPage()" >Click here</a>
and function:
function openPage()
{
if(some conditon)
opener.document.location = "http://www.google.com";
}
}
a {}
<a href='javascript: void(0);' id="myLink">click here</a>
除了void,您还可以使用:
<a href="javascript:;">this link is disabled</a>
我发现这种方法更容易实现。而且它的优点是你可以使用js。不是在html中,而是在不同的文件中。我认为没有解开束缚。这两项活动仍处于活动状态。不确定。但在某种程度上,您只需要这一个事件MDN推荐的
元素当您想要禁用属性时,代码>将属性设置为null(或其他值)。在本例中,它将是element.removeAttribute(“href”)代码>
0)你最好记住这一点
如果有链接和“#”href,某些浏览器会“跳转”。因此,最好的方法是定制JavaScript
1)如果您在自定义JavaScript之后执行此操作,则如下所示:
<a href="#" onclick="DoSomething(); return false;">Link</a>
其中.disabled
类来自引导
Qupte表单引导站点()
链接功能警告
.disabled类使用指针事件:none
尝试禁用s的链接功能,但CSS属性尚未标准化。此外,即使在支持指针事件的浏览器中:无,键盘导航仍然不受影响,这意味着有视力的键盘用户和辅助技术用户仍然能够激活这些链接。为了安全起见,在这些链接上添加一个tabindex=“-1”
属性(防止它们接收键盘焦点),并使用customJavaScript
禁用它们的功能
根据许多答案和我的经验,定制JavaScript
显示在1节中,这是我的最佳解决方案:
<a href="javascript:">I am a useless link</a>
一些选项及其注意事项:
<a href="#">I will make you page jump to top</a>
<a href="#" onclick="DoSomething(); return false;">I'll break others scripts events</a>
<a href="javascript: openPage()" >Please... I should be an onclick event...</a>
<a href="javascript:" onclick="openPage()" >Please...do I even need to be an anchor?</a>
<script>element.removeAttribute("href") // some browsers will remove link style</script>
<script>element.href = null // some browsers will remove link style</script>
<style>
a.my-off-class {
pointer-events: none
}
/** I disable hover event too. And... Is this a style responsability?
</style>
element.removeAttribute(“href”)//某些浏览器
<a href="javascript:void(0);" onclick="DoSomething();">Link</a>
<a href="javascript:;" onclick="DoSomething();">Link</a>
$('.one-click').on("click", function (e) {
$( this ).addClass('disabled');
});
<a href="javascript:">I am a useless link</a>
<a href="#">I will make you page jump to top</a>
<a href="#" onclick="DoSomething(); return false;">I'll break others scripts events</a>
<a href="javascript: openPage()" >Please... I should be an onclick event...</a>
<a href="javascript:" onclick="openPage()" >Please...do I even need to be an anchor?</a>
<script>element.removeAttribute("href") // some browsers will remove link style</script>
<script>element.href = null // some browsers will remove link style</script>
<style>
a.my-off-class {
pointer-events: none
}
/** I disable hover event too. And... Is this a style responsability?
</style>