使用Jquery禁用div

时间:2011-02-28 13:37:01

标签: javascript jquery

我有活动onClick=window.location.href = 'some url stored in div

Div包含图片和文字。

我想使用此div显示预览,但希望在此div上点击已停用,因为它已转到指定位置。

我试过这样:

("#preview").disabled= true;
("#preview").disabled= 'disabled';
("#preview").children().disabled= true;
("#preview").children().disabled= 'disabled';

但这些都不适用于firefox 3.6。有人请帮忙解决这个问题。

6 个答案:

答案 0 :(得分:3)

$('#preview').unbind('click');

答案 1 :(得分:3)

如果要禁用所有div的控件,可以尝试在div上添加透明div以禁用,您将使其无法点击,也可以使用fadeTo创建禁用外观。

试试这个。

$('#DisableDiv').fadeTo('slow',.6);
$('#DisableDiv').append('<div style="position: absolute;top:0;left:0;width: 100%;height:100%;z-index:2;opacity:0.4;filter: alpha(opacity = 50)"></div>');

答案 2 :(得分:1)

首先,为什么在使用像jQuery这样的库时会使用内联事件处理程序。以不引人注目的方式进行,并使用Javascript绑定所有事件处理程序。

这实际上也可以帮助您解决问题,因为这样您就可以非常轻松地取消绑定重新绑定事件处理程序:

function myclick() {
   window.location.href = 'some url';
}

// bind the click event handler
$(function() {
    $('#preview').bind('click', myclick);
});

// unbind the click event handler
$('#preview').unbind('click', myclick);

这样,您可以添加和删除功能,但不会更改 div节点的任何可见更改。您还必须添加样式 css类,以便让用户知道更改了内容。

参考:.bind().unbind()

答案 3 :(得分:0)

你应该能够做到:

// Unbind all click events for all elements
("#preview *").unbind("click");

<击>

你可以做的另一件事是模态经常用背景做什么:在另一个内容之上放置一个不可点击的div。

答案 4 :(得分:0)

$("#preview div").onClick = function(){};

答案 5 :(得分:0)

尝试

$('#the_div_id *').unbind('click');