如何获取已由ckeditor替换的文本区域的ID属性

时间:2018-10-10 15:12:45

标签: javascript jquery asp.net-mvc ckeditor

我正在尝试使用(JQuery)已被ckeditor替换的文本区域进行验证,似乎无法获取我的文本区域。

 here<div class="form-group">
                        @Html.Label("Instructions", htmlAttributes: new { @class = "control-label col-md-2" })
                        <div class="col-md-10">
                            @Html.TextArea("Instruction", new { @class = "form-control question-textarea", @style = "height:100px", @placeholder = "Enter instructions here" })
                            Instructions: <span id="linesUsed">0</span> of 15
                        </div>
                    </div>

我的JavaScript和Jquery

enter code here <script>

    CKEDITOR.replace("Instruction");

</script>

<script>
    $(document).ready(function () {

        var lines = 15;
        var linesUsed = $('#linesUsed');
        $('#cke_1_contents').keydown(function (e) {
            newLines = $(this).val().split("</p>").length;
            linesUsed.text(newLines);
            if (e.keyCode == 13 && newLines >= lines) {
                linesUsed.css('color', 'red');
                return false;
            }
            else {
                linesUsed.css('color', '');
            }
        });
    });
</script>

我的Jquery似乎没有为我的文本区域获取ID,有人知道如何在ckeditor中获取文本区域ID。

1 个答案:

答案 0 :(得分:0)

尝试使用事件委托,您可以了解有关here

的信息

“事件委托使我们可以将单个事件侦听器附加到父元素,该事件侦听器将为与选择器匹配的所有后代触发,无论这些后代现在存在还是将来添加。”

更改$('#cke_1_contents').keydown(function (e) {

$(document).on('keydown', '#cke_1_contents', function(e){} )