在IE8中,jQuery改变了对div的满意度

时间:2013-09-19 13:35:35

标签: jquery internet-explorer

我有一个可编辑的div-tag。然后我有一个复选框,我检查或取消选中它我希望div-tag在可编辑和不可编辑之间切换。我的代码使用chrome和ff,但不适用于IE8。

 if ($("#makeedit").prop("checked"))
{
    $("#RiskScoreTextArea").contenteditable("true");
    //$("#RiskScoreTextArea").prop("contenteditable", true);
} else {
    //$("#RiskScoreTextArea").prop("contenteditable", false);
    $("#RiskScoreTextArea").contenteditable("false");

}

}

你可以尝试很多不同的变化。但它不起作用:(

2 个答案:

答案 0 :(得分:1)

您可能想尝试以下代码:

<强> JavaScript的:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>

    <script type="text/javascript">
      $(document).ready(function(){
          $('#makeedit').on('click',function(){

            if(!$(this).is(':checked'))
                $('#RiskScoreTextArea').removeAttr('contenteditable');
            else
                $('#RiskScoreTextArea').attr({ contenteditable: 'true' });
          });
        });
    </script>

<强> HTML:

 <input type="checkbox" id="makeedit" />
    <div id="RiskScoreTextArea" style="width:100;height:100;border:1px;border-color:red;border-bottom-width: 1px;border-radius: 1px;border-style: dotted;">
      this is div
    </div>

答案 1 :(得分:0)

尝试手动切换属性:

if (!$('#makeedit').prop('checked'))
    $('#RiskScoreTextArea').removeAttr('contenteditable');
else
    $('#RiskScoreTextArea').attr({ contenteditable: 'true' });

http://jsfiddle.net/RY7q9/show/