javascript - 输入键验证 contenteditable

标签 javascript html css

由于 contenteditable,我有一个用户可以修改的标题。 我希望当用户按下 enter 时验证标题而不是传递一行。

<div class="panel-participants-title"
     *ngIf="thread.title !== '' ">
    <div class="panel-title"
         contenteditable="true">
           {{thread.title.substring(1)}}
    </div>
</div>


.panel-participants-title:hover > *[contenteditable="true"] {
  background: #989898;
}
.panel-participants-title > *[contenteditable="true"] {
  outline: 0;
}

/////更新

<div class="panel-participants-title">
     <div class="panel-title"
          contenteditable="true"
          (keypress)= "validateTitle($event)">
              {{thread.title.substring(1)}}
     </div>
</div>

validateTitle(event: any): void {
  if(event.keyCode===13) {
    document.getElementById("panel-title").submit();
  }
}

////////更新2

validateTitle(event: any): void {
  if(event.keyCode===13) {
    event.preventDefault();
    event.stopPropagation();
    event.submit();
  }
}

最佳答案

这是 fiddle 的一个工作示例,以防它关闭:)

document.querySelector('#id1').addEventListener('keypress', function (e) {
    var key = e.which || e.keyCode;
    if (key === 13) { // 13 is enter
      	var text = document.getElementById("id1").value;
        if (text.includes("w")) {
        	alert("Omg, the string contains a W, try again");
        } else {
     		document.getElementById("id1").blur();
        }
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Input Field <input id="id1" type="text" name="fname">

关于javascript - 输入键验证 contenteditable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49030316/

相关文章:

javascript - 事件监听器功能需要单击两次

javascript - Js 聊天 Controller

javascript - 需要帮助通过 javascript 自动执行 iPhone 键盘输入

javascript - RapidAPI 响应体显示为 "undefined"

javascript - AmCharts 仪表气球工具提示

html - 如何使用 HtmlAgilityPack 解析 <select><option> 标签

javascript - 为什么在结束上下文之前评估动态内联脚本标记?

css - LESS 错误地导入带有 URL 的文件

javascript - 构建静态投资组合的最快方法?

javascript - jQuery 用事件移除延迟闪烁效果