首页 > 解决方案 > 添加输入时,我的 javascript 代码中断

问题描述

我的代码有一个大问题。一切都像我想要的那样工作,但是当我添加一个触发 jQuery 代码的输入时,一切都会中断(页面加载时它不应该并且代码不起作用)并且我找不到解决方案,我什至没有知道是什么原因,因为控制台不返回任何错误。这是输入:

<INPUT TYPE="text" id="headline1" maxlength="30" style="width: 350px;float:left;min-height: 32px;">
<span id="countHeadline1" class="adCounter" style="color: rgb(255, 255, 255);float:left;position: inherit;margin-left: 0px;">0</span>

这是触发的jQuery:

document.addEventListener("DOMContentLoaded", function(event) {

  $('#headline1').keyup(updateCount);
  jQuery('#headline1').keydown(updateCount);

  function updateCount() {
    var cs = [jQuery(this).val().length];
    jQuery('#countHeadline1').text(cs);
    var cs = [jQuery(this).val()];
    jQuery('#headlineText').text(cs);
  }

  console.log("DOM fully loaded and parsed");
});

任何线索有什么问题?谢谢,

标签: javascriptjqueryhtml

解决方案


编辑:在与提问者进行电子邮件对话后,我们确定根本原因是缺少</div>. 该代码确实有效。

您的代码有效。(点击这里)一定有其他错误。下面,我对您的 JS 进行了一些改进:

document.addEventListener("DOMContentLoaded", function(event) {

  $('#headline1').keyup(updateCount).keydown(updateCount);

  function updateCount() {
    var cs = $(this).val().length;
    $('#countHeadline1').text(cs);
    cs = $(this).val();
    $('#headlineText').text(cs);
  }

  console.log("DOM fully loaded and parsed");
});

基本上我用jQuerys替换了所有的$并摆脱了第二个s var。我也摆脱了辅助#headline1来清理你的代码。


推荐阅读