2012-04-02 102 views
1

我有一個鏈接在div id我必須禁用點擊事件,也隱藏。 這裏是我的Div ID,我需要禁用點擊事件。jQuery禁用點擊

<div class="bookmark" align="left"> 
    <div align="left">&nbsp;&nbsp; 
    <img src="<c:url value="/images/Bookmarks1.png">"align="absmiddle" border="0" width="18" height="18" /> 
<a href="#" id="bookmarkviewall" class="book tabs" style="text-decoration: none;"> Bookmark</a> &nbsp; 
    <a href="#" id="bookmarkpopup" class="book tabs" onclick="javascript:return false;"> 
     <img alt="Add Bookmark" src="<c:url value="/images/red_plus.png"/>" align="absmiddle"> 
    </a> 
    </div> 
</div> 

我寫的功能是: -

function disablingBookmark(){ 
    $("#bookmarkviewall").removeAttr("href"); 
    $("a#bookmarkviewall").removeAttr("class"); 
    $("#bookmarkpopup").removeAttr("href"); 
    $("a#bookmarkpopup").removeAttr("onclick"); 
    $("a#bookmarkviewall").attr("class","greyFont tabs1"); 
    $("#colorpickerDiv").hide(); 
} 

這是我的js文件: -

$("#bookmarkviewall").click(function(e){ 
     var selectedId = "#"+currentSelectedTabId; 
     $(selectedId).removeAttr("style"); 
     currentSelectedTabId = null; 
     highlight($('#content').attr("id")); 
    //For hiding the popuped menu 
    //$("#rightHandPanelStatus").attr("recent","bookmarks"); 


     highlightForToolBox($('#bookmarkviewall').attr("id")); 

     var currentNumberOfRecordsPerPage = 10; 
     var currentPageNumber = 1; 

     $.post("/core-web/bookmark/viewlist", jQuery.param({pageNumber :currentPageNumber, NumberOfRecordsPerPage :currentNumberOfRecordsPerPage, pageId:currentPageId}), function(data) { 
       $('#center_in').html(data); 
     }); 



    }); 
}, 

鏈接是禁用,但仍然click事件是working.any幫助。請致電 。

+0

$(「a#bookmarkpopup」)。click(function(e){e.preventDefault();}) – mshsayem 2012-04-02 05:39:12

+0

這個問題是人們急於提供答案而沒有解釋的一個障礙。等到塵埃落定之後才能確定誰的建議是好的。 – 2012-04-02 05:40:57

回答

0

您可以先刪除href屬性,並使用e.preventDefault()來阻止您的默認點擊功能。請參見下面的示例代碼和演示here

var link = $(".bookmark").find("a"); 
link.removeAttr('href'); 
link.click(function(e) { 
    e.preventDefault(); 
});​ 

我已經在你的實際代碼使用不同的圖像。參見Jsfiddle

它在這裏工作。似乎你的jsp代碼有問題。請檢查您的代碼並確保其工作。

+0

先生嘗試過,但仍然點擊事件是火。我寫了這個函數disablingBookmark(){ \t // alert(「hii disable bookmark」); \t \t var link = $(「。bookmark」)。find(「a」); \t link.removeAttr(「href」); \t link.click(函數(e)中{ \t \t e.preventDefault(); \t \t \t }); \t \t \t } – Anurag 2012-04-02 06:17:09

+0

看看演示其工作。 你的html代碼看起來不整齊,不能正確渲染。 – Dips 2012-04-02 06:27:18

+0

是的,先生你的演示工作正常。但是當我在我的功能實現它不工作。 – Anurag 2012-04-02 06:29:04

0
$("a#bookmarkpopup").click(function(){return false;}) 
0

錨點標記的點擊處理程序應該被處理以檢查被禁用的div。如果可用,應該禁用它。
希望你明白。不需要任何示例權。!? 。讓我進一步瞭解。

+0

Mindsource的編碼風格.. :( – 2012-04-02 05:39:20

0

簡單的附加的onclick = 「返回false」

可能它可以工作

<div class="bookmark" onclick="return false" align="left"> 
    <div align="left">&nbsp;&nbsp; 
    <img src="<c:url value="/images/Bookmarks1.png">"align="absmiddle" border="0" width="18" height="18" /> 
<a href="#" id="bookmarkviewall" class="book tabs" style="text-decoration: none;"> Bookmark</a> &nbsp; 
    <a href="#" id="bookmarkpopup" class="book tabs" onclick="javascript:return false;"> 
     <img alt="Add Bookmark" src="<c:url value="/images/red_plus.png"/>" align="absmiddle"> 
    </a> 
    </div> 
</div> 

,你可以將它添加到身體,以防止任何形式的行動上點擊

<body onclick="return false" > 

要做到你可以用每個鏈接做具體的鏈接

<a href="something" onclick = "return false;"> 
+0

謝謝,但如何添加在disablingBookmark()請擴大。 – Anurag 2012-04-02 05:42:59

+0

謝謝先生,但在一些選定的鏈接,我想禁用鏈接,之後休息它將是正常的..所以我想我不能永遠返回false,如果我這樣做,那麼div永久禁用不是。 – Anurag 2012-04-02 07:28:00

+2

所以如果你想要做特定的鏈接,然後只需要通過onclick =「返回false;」 與每個鏈接 像 或如果你想,那麼你也可以做類 – Trikaldarshi 2012-04-02 08:26:31

0

這會禁用點擊事件全部定位標記。

$('a').click(function(e) { 
    e.preventDefault(); 
}); 

希望你從這裏拿它。否則,我們只會把整個代碼給你。