我正在尝试使用(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。
答案 0 :(得分:0)
尝试使用事件委托,您可以了解有关here
的信息“事件委托使我们可以将单个事件侦听器附加到父元素,该事件侦听器将为与选择器匹配的所有后代触发,无论这些后代现在存在还是将来添加。”
更改$('#cke_1_contents').keydown(function (e) {
到$(document).on('keydown', '#cke_1_contents', function(e){} )