2013-10-26 106 views
0

我是一名平面设计师。所以我的代码知识几乎包含了我需要为自己完成的事情。我第一次不得不发布一个问题。但是我一直在寻找和测试大约5个小时,并且完全错过了我有限的知识。我确信这很简单,我错过了一些东西。我的开发网站在这里http://www.heybuddy.tv/temp/dev/005.html禁用切换的链接

我遇到的问题是导航链接。我有jquery切换设计和摄影之间的东西,但我不知道如何禁用活动的链接。我不知道它是IF/ELSE类型的声明,还是它的javascript onmouseover事件。或者即使我的基本方法是完全错误的。我无法找到一个示例网站来看,所有的谷歌搜索没有为我做任何事情与我的搜索条件。我绝望而沮丧。抱歉,如果这不是显示问题的“最佳实践”。我新来请求帮助。

+1

你可以把一些代码,使你的问题?也许只是简单的HTML和你已经尝试或目前正在使用特定于这个问题或那些链接的JS?此外 - 你什么时候试图禁用它们?总是或在某个事件上......? (是的,我只是看着,不知道为什么一切都是弹跳上下或你想要或不想要的) –

+0

这个问题有一些想法:http://stackoverflow.com/questions/5376444/how-do -i-disable-a-href-link-in-javascript –

+0

所以我看了看页面。当我在一个链接上点击多次(如摄影)时,所有内容都会在页面上下移动。个人...我会清除所有的JS/JQuery,并获得简单的行为(禁用),以一致工作,然后添加更难的东西(移动的东西)。你可以尝试......将当前页面存储在一个JS变量中,并在每次点击时检查它...如果链接<>当前然后做一些事情,否则什么都不做。 –

回答

0

但我不知道如何禁用活动的链接。

,如果这是你的问题,你的情况我可以改成 摄影禁用或设计未激活状态的物品类别看。 在jQuery中,你可以做那么:

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

这将有助于更具体一点,但我总是向下,以帮助新手。

有很多方法来禁用使用jQuery和JavaScript的链接。你想要做的是访问被禁用的属性(例如,禁用='禁用'/禁用=“真”/只是在你的代码中禁用旧的)。

jQuery的解决方案

首先,如果你要动态地改变,当用户点击链接后会发生什么,你将需要使用JavaScript链接,调用一个JavaScript函数的链接,当你点击它。

<a id="myId" name="myName" href="javascript:void(0)" onClick="function()">BlahBlah</a> 

接下来,您可以使用以下方式在页面加载上运行任何操作,并且需要这样做才能立即禁用链接和我的代码。

$(document).ready(function() { 
    //code and function calls go here 
}); 

否则,可以使用jquery或javascript来简单地更改DOM元素(文档元素)。在下面的格式;

要明白,你为什么用这种方法,阅读this

您可以参考使用其标签的链接属性(例如等一,DIV)。 ( '标记')的事件(函数(){});要访问特定的链接,你需要给它一个ID。格式将变为('#id')。event(function(){});

您正在寻找的东西看起来像下面的代码。

$('a').click(function(){return false}); 

您可能还在寻找过滤您的链接请求。

$('a').click(function(){return ($(this).attr('disabled')) ? false : true;}); 

该代码使用turnary运算符((条件)执行,如果真:?否则,如果假执行)和一个return语句来改变一个点击的状态。

如果你想添加链接到一个列表,所以你可以跟踪点击什么,这是可能的。这样,如果您在点击后禁用,则可以跟踪已禁用的内容。下面的代码可以被用来启用或禁用特定的页面部分,但是javaScript总是打开进行注入或抓取。在这种情况下最好使用服务器端脚本。这主要是让你了解正在发生的事情。

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

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

    return false; 
}); 

要禁用负载只需添加一个onload标记你的脚本应该是在为便于代码的阅读和安全.js文件。

更多信息,请点击这里disable a hyperlink using jQuery

JavaScript解决方案之

您可以通过使用标签名称访问的所有环节上的DOM(如XML),然后设置更改链接状态禁用属性。

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

for(var i=0;i<list.length;i++) 
{ 
    list[i].disabled='disabled'; 
} 

此代码访问所有链接,并使用for循环使用disable属性禁用它们。

如果您希望禁用某个特定链接,请使用通过其Id访问元素的以下内容。 document.getElementById(“id”)。disabled ='disabled';

要renable所有链接:

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

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

有没有机会找到你要找的东西? –