0

我有一个图像,它在 .cs 文件中定义了“a href”标记的 InnerHTML,如下所示。

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”事件“删除”说如果条件是(假),否则通过使用 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..
}   

这个怎么做?

谢谢

杰森

4

2 回答 2

1
if (false) {
    $('#oElementId').off('click', function() {});
} else {
    $('#oElementId').on('click', function() {});
}   
于 2013-02-08T02:01:27.903 回答
1

您也可以使用 jQuery 通过 ID 选择元素,所以

(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);

编辑:您可能必须将代码包装在 (function($) 中,以确保您的代码使用 $ for jQuery

于 2013-02-08T01:43:39.667 回答