我是Javascript& amp;的初学者HTML5
假设我的HTML5窗口中有一个可疑的<div>
[块级]元素。
用户可以通过用户交互修改此元素(或某些子元素)触发的Javascript事件的详尽列表是什么?
我应该如何在Javascript中编码以拒绝某些用户操作?或更改DOM ...(即用一些<span>
替换一些TextNode)
似乎input
事件无法“撤消”或“拒绝”某些用户操作......
FWIW,此时我只关心最近的Firefox浏览器(我的Linux浏览器是21 beta 7)。
this is an answer相关问题。
换句话说,我没有清楚地了解如何在HTML5和HTML中设计富文本编辑器。的JavaScript。
PS我想要普通的Javascript,对它上面的任何库都不感兴趣。
也许mutation observers可能相关?
后续问题here ......
答案 0 :(得分:2)
关于contenteditable元素的详尽事件列表与input type = text相同。查看所有事件的列表(特别注意表单事件):http://www.w3schools.com/tags/ref_eventattributes.asp
“我应该如何在Javascript中编写代码以拒绝某些用户操作?”...只需将“event.preventDefault()”放在事件侦听器的开头,以用于该操作的事件。拒绝按键的示例:
contenteditableElement.addEventListener('keypress', function (e) {
e.preventDefault();
// do something else, maybe...
});
撤消用户的操作:
document.execCommand('undo', false, '');
关于设计富文本编辑器,有许多好的演示可用。我建议: https://developer.mozilla.org/en-US/docs/Rich-Text_Editing_in_Mozilla http://www.quirksmode.org/dom/execCommand/ 确保查看最后一个链接的来源;特别是buttons.js文件。另请参阅MDN文章中的惊人命令列表。祝你好运 - 但尽量不要重新发明轮子。那里有许多经过良好测试的编辑;看看这个清单:http://www.webdesignerdepot.com/2008/12/20-excellent-free-rich-text-editors/