Javascript 禁用切换链接

Javascript 禁用切换链接,javascript,jquery,css,Javascript,Jquery,Css,我是一名平面设计师。因此,我的代码知识几乎包括我需要为自己完成的工作。我第一次不得不发帖提问。但我已经寻找和测试了大约5个小时,在我有限的知识中完全遗漏了一些东西。我相信这很简单,我遗漏了一些东西。我的开发站点在这里 我遇到的问题是导航链接。我有jquery在设计和摄影之间切换的功能,但我不知道如何禁用活动的链接。我不知道它是一个if/ELSE类型的语句,还是一个javascript onmouseover事件。即使我的基本方法完全错误。我找不到一个可以查看的示例站点,所有的谷歌搜索都没有用我的

我是一名平面设计师。因此,我的代码知识几乎包括我需要为自己完成的工作。我第一次不得不发帖提问。但我已经寻找和测试了大约5个小时,在我有限的知识中完全遗漏了一些东西。我相信这很简单,我遗漏了一些东西。我的开发站点在这里

我遇到的问题是导航链接。我有jquery在设计和摄影之间切换的功能,但我不知道如何禁用活动的链接。我不知道它是一个if/ELSE类型的语句,还是一个javascript onmouseover事件。即使我的基本方法完全错误。我找不到一个可以查看的示例站点,所有的谷歌搜索都没有用我的搜索词为我做任何事情。我感到绝望和沮丧。如果这不是显示问题的“最佳实践”,那么很抱歉。我是新来求助的

但我不知道如何禁用处于活动状态的链接

如果这是您的问题,在您的情况下,我可以看到活动项类更改为 摄影障碍或设计障碍。 在jQuery中,您可以执行以下操作:

$(document).ready(function(){
    $('#navbar .nav-text a[class*="disabled"]').on('click', function(){
        return false;
    });
});

说得更具体一点会有帮助,但我总是想帮助新手

有很多方法可以使用jquery和javascript禁用链接。您要做的是访问disabled属性(例如disabled='disabled'/disabled=“true”/只是在代码中使用普通的old disabled)

Jquery解决方案

首先,如果您想动态更改用户单击链接时发生的情况,则需要使用javascript链接,该链接在单击时调用javascript函数

<a id="myId" name="myName" href="javascript:void(0)" onClick="function()">BlahBlah</a>
否则,可以使用jquery或javascript简单地更改DOM元素(document元素)

要了解使用此方法的原因,请阅读

可以使用链接属性的标记(例如a、div等)以以下格式引用链接属性。('tag').event(function(){});要访问特定链接,需要给它一个id。格式为('#id').event(function(){})

您正在查找类似以下代码的内容

$('a').click(function(){return false});
您可能还希望筛选您的链接请求

$('a').click(function(){return ($(this).attr('disabled')) ? false : true;});
此代码使用turnary运算符((条件)?如果为true则执行:如果为false则执行)和返回语句来更改单击时的状态

如果您希望将链接添加到列表中,以便跟踪单击的内容,则可以。这样,如果单击后禁用,则可以跟踪已禁用的内容。下面的代码可以在启用或禁用特定页面部分时使用,但是javaScript总是对注入或刮取开放的。最好在该实例中使用服务器端脚本。这主要是为了让你知道发生了什么

var disabled=[]
...
$('a').click(function(){
     var isSet=$(this).attr('disabled');

     if(isSet==false)
     {
       disabled.push(event.target.id);
     }

     return false;
});
要禁用加载,只需在脚本中添加一个onload标记,该标记应位于.js文件中,以便于阅读并确保代码的安全性

这里有更多信息

JavaScript解决方案

通过使用标记名访问DOM上的所有链接(如XML),然后设置disabled属性,可以更改链接的状态

var list=document.getElementsByTagName("a");

for(var i=0;i<list.length;i++)
{
   list[i].disabled='disabled';
}
var list=document.getElementsByTagName(“a”);

对于(var i=0;我能为你的问题添加一些代码吗?可能只是简化的html和你已经尝试过的或目前正在使用的针对这个问题或那些链接的JS?还有-你什么时候尝试禁用它们?总是还是在某个事件上。。。?(是的,我只是看了看,不知道为什么所有的东西都在上下跳动,或者你想要什么或不想要什么)这个问题有一些想法:所以我确实看了页面。当我在一个链接上点击多次时(比如照片),所有的东西都会在页面上上下移动。就我个人而言……我会清除所有的JS/JQuery并获得简单的行为(禁用)持续工作,然后添加更难的内容(移动内容)。您可以尝试…将当前页面存储在JS变量中,并在每次单击某个内容时进行检查…如果链接为当前,则执行某项操作,否则不执行任何操作。您是否找到了要查找的内容?
var list=document.getElementsByTagName("a");

for(var i=0;i<list.length;i++)
{
   list[i].disabled='disabled';
}
var links=document.getElementsByTagName("a");

for(var i=0;i<links.length;i++)
{
   links[i].removeAttribute("disabled");
}