Javascript::如何识别在可编辑div上插入的字符(或字符串)?

Javascript::如何识别在可编辑div上插入的字符(或字符串)?,javascript,html,contenteditable,quote,Javascript,Html,Contenteditable,Quote,我想知道如何识别div上插入的字符。。。 我想看看用户是否键入了单引号或双引号,并为引号后的文本指定了一个特定的类。。。 我认为这是一个onkey属性或返回。。。我不知道 有人有什么建议吗?我不确定自己是否完全理解您的意图,但似乎您希望使用contentEditable属性将用户输入捕获到div中。如果我正在使用,我将从以下内容开始: $('idOfEditableDiv').addEvent('keydown', function(event) { console.log(event.

我想知道如何识别div上插入的字符。。。 我想看看用户是否键入了单引号或双引号,并为引号后的文本指定了一个特定的类。。。 我认为这是一个onkey属性或返回。。。我不知道


有人有什么建议吗?

我不确定自己是否完全理解您的意图,但似乎您希望使用contentEditable属性将用户输入捕获到div中。如果我正在使用,我将从以下内容开始:

$('idOfEditableDiv').addEvent('keydown', function(event) {
    console.log(event.key);
    });
这将在Firebug控制台中打印在content editable div内按下的任何键。因此,如果我按下“a”键,将打印“a”。如果您希望捕获没有明显值的输入(如Caps Lock键),这可能非常有用。使用
console.log(event)
记录整个事件可以为您提供更多有用的信息

确定要捕获的密钥(例如a和b密钥)后,请执行以下操作:

$('idOfEditableDiv').addEvent('keydown', function(event) {
    if(event.key == 'a' || event.key == 'b') {
        //do stuff here if the a or b key was pressed
        }
    });
$('idOfEditableDiv').addEvent('keydown', function(event) {
    if(event.key == 'a') {
        //do stuff here if the a key was pressed
        }
    else if(event.key == 'b') {
        //do stuff here if the b key was pressed
        }
    });
有时候,如果按a键,你可能想做一些事情,如果按b键,你可能想做其他事情。在这种情况下,请执行以下操作:

$('idOfEditableDiv').addEvent('keydown', function(event) {
    if(event.key == 'a' || event.key == 'b') {
        //do stuff here if the a or b key was pressed
        }
    });
$('idOfEditableDiv').addEvent('keydown', function(event) {
    if(event.key == 'a') {
        //do stuff here if the a key was pressed
        }
    else if(event.key == 'b') {
        //do stuff here if the b key was pressed
        }
    });
如果您不熟悉Mootools,您需要将所有Mootools代码包装在domReady事件中,如下所示:

window.addEvent('domready', function() {
    $('idOfEditableDiv').addEvent('keydown', function(event) {
        if(event.key == 'a') {
            //do stuff here if the a key was pressed
            }
        else if(event.key == 'b') {
            //do stuff here if the b key was pressed
            }
        });
    });

您需要的是
按键
事件,因为这是您可以从中收集有关键入字符信息的唯一事件。在引用的情况下,您可以自己处理按键。此处不介绍使用CSS类插入
的代码。如果您需要帮助,我建议您再问一个问题,或者阅读一些关于、选择和的文档

功能手柄按键(evt){
evt=evt | | window.event;
var charCode=evt.which | | evt.keyCode;
var charStr=String.fromCharCode(charCode);
if(charStr==“'”|| charStr==“'”){
//插入引号字符,后跟CSS类的代码
//到这里来。
//阻止默认操作
如果(evt.preventDefault){
evt.preventDefault();
}否则{
evt.returnValue=false;
}
}
}
var div=document.getElementById(“您的div”);
if(div.addEventListener){
div.addEventListener(“按键”,handleKeypress,false);
}否则,如果(分区附件){
部门附件(“onkeypress”,handleKeypress);
}