1

我试图在 MVC4 应用程序中使文本区域只读。

但是当我使用以下代码时,它总是可以编辑:

   @Html.TextAreaFor(model => model.EndUserHelp, new { id = "name1", @class = "editorHelp"})

$('#name1').wysihtml5({
                "font-styles": true,
                "emphasis": true, 
                "lists": true, 
                "html": false, 
                "link": true, 
                "image": true,
                "color": false, 
                "useLineBreaks": true
            });
   $("#name1").prop('readonly', true);

无法使该区域只读。

4

2 回答 2

2

您可以在初始化编辑器的位置添加以下代码。我在 0.3.0 版中遇到了同样的问题,并做了这个来解决它。

function enforceInactiveStates() {
    var disabled = this.textareaElement.disabled;
    var readonly = !!this.textareaElement.getAttribute('readonly');

    if (readonly) {
        this.composer.element.setAttribute('contenteditable', false);
        this.toolbar.commandsDisabled = true;
    }

    if (disabled) {
        this.composer.disable();
        this.toolbar.commandsDisabled = true;
    }
}
editor.on( 'load', enforceInactiveStates );

请注意,“只读”与“禁用”不同。

于 2014-03-08T11:32:34.777 回答
1

尝试这个:

$editor = $(".textarea-disabled").wysihtml5();
$editor.attr('disabled', 'disabled');

'disabled'不使用'readonly'

于 2016-07-14T18:12:08.630 回答