onkeypress识别当前div

时间:2016-12-04 22:52:18

标签: javascript jquery

我有多个具有onkeypress事件的contenteditable div,如下所示:

JsFiddle

<script>
function hadd(event){   
        var val = event.charCode;               
        if(val == 36){//$ sign  
            var current  = $(this);             
            console.log("val_c: " + val);
            console.log("rh: " + current);        
            current.append("correct");
        }           
    };
</script>

 <div class="example" contenteditable="true" tabindex="-1" onkeypress="hadd(event);">Test</div>
 <div class="example" contenteditable="true" tabindex="-1" onkeypress="hadd(event);">Test_2</div>
 <div class="example" contenteditable="true" tabindex="-1" onkeypress="hadd(event);">Test_3</div>

我想要的是hadd(event)识别&#34; $(this)&#34;。我应该做些什么改变?因为我收到createDocumentFragement错误。

谢谢!

1 个答案:

答案 0 :(得分:1)

您需要添加第二个参数并传递当前元素。

onkeypress="hadd(event, this);"

在您的代码中:

function hadd(event, which) {
    current = $(which);
    //...
}

或者以简单的方式,您也可以使用:

function hadd(event) {
    current = $(event.target);
    //...
}

工作小提琴:https://jsfiddle.net/wxwz7bab/