2013-02-08 5 views
0

아래 그림과 같이 .cs 파일에 "a href"태그 용 InnerHTML이 정의 된 이미지가 있습니다.jQuery에서 이벤트를 추가하고 제거하는 방법은 무엇입니까?

HtmlGenericControl _divToolTipContainer = new HtmlGenericControl("div"); 
_divToolTipContainer.InnerHtml = "<a href=\"javascript:__doPostBack('" + btnItemThumbnail.ClientID.Replace("_", "$") + "','')\">" + 
           <img src='" + string.Format("ItemPreview.axd/{0}/width-250/height-328/", item.ID.ToString()) + "'></a>; 

지금 내가 원하는이 "A HREF"이벤트가 "제거"상태 인 경우 (false)를 다른 jQuery를 사용하여 이벤트를 다시 "추가"말을하는 것입니다. 샘플 코드는 아래와 같습니다.

var objectDiv = document.getElementById(oElementId); // get the object id 

If (false){ // condition here 
    remove the event of the a href tag.. 
    jquery code must be added here.. 
}else{ 
    add the event again of the a href tag.. 
    jQuery code must be added here.. 
} 

어떻게 수행하나요?

감사

제이슨

답변

1

당신은뿐만 아니라 ID로 요소를 선택 jQuery를 사용할 수 있으므로

(function($) { 

    var objectDiv = $("#"+oElementId); // get the object id 

    if(false) 
    { // condition here 
     objectDiv.removeAttr("href"); 
    } 
    else 
    { 
     objectDiv.attr("href", "javascript:__doPostBack('" + btnItemThumbnail.ClientID.Replace("_", "$") + "','')"); 
    } 

})(jQuery); 

편집 : 당신은 당신의 코드를 포장해야 할 수 있습니다 (함수 ($)를 사용하여 코드가 $ for jQuery를 사용하고 있는지 확인하십시오.

+0

... 오류가 발생했습니다 ... – user1306165

+0

위 코드를 지금 사용해보십시오. (참고 : 그 안에있는'if else' 문에 사용되는 모든 것을 포장해야합니다.) –

+0

여전히 작동 중입니다. 여전히 이미지를 클릭 할 수 있으며 제공되는 href 위치로 이동합니다 ... – user1306165

1
if (false) { 
    $('#oElementId').off('click', function() {}); 
} else { 
    $('#oElementId').on('click', function() {}); 
} 
+0

작동하지 않음 – user1306165

관련 문제