我正在尝试检测tinmyce编辑器中的输入键按下它并且它对所有键都正常工作但它不适用于输入键。
setup : function (instance) {
instance.on("keypress", function(e) {
var Keycode = (e.keyCode ? e.keyCode : e.which);
alert(Keycode);
});
}
在上面的代码中,它会提示除ENTER之外的所有键。我不知道那里的问题是什么。
答案 0 :(得分:1)
我认为这会有效,我已经对它进行了测试,它可以在这个fiddle中使用jquery 2.24
$(document).keypress(function(e) {
if (e.which == 13) {
console.log('You pressed enter!');
} else {
console.log('You pressed ' + e.which);
}
});
body {
height: 500px;
width:500px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
</body>
编辑:对不起我之后才发现这也被标记为tinymce
我认为你可以通过稍微调整你的功能
来做到这一点//tinyMCE.init({
setup : function(instance) {
instance.onKeyDown.add(function(instance, event) {
if (event.keyCode == 13) { //enter
event.preventDefault();
event.stopPropagation();
//do stuff here
//alert("Enter!");
}
else{ alert (event.keyCode);}
});
}
//});
编辑2: 在当前的tiny mce docs中,有一个函数[在设置中]。
也许试试
tinymce.init({
selector: 'textarea', // change this value according to your HTML
setup: function(instance) {
instance.on('keypress', function(e) {
if (event.keyCode == 13) { //enter
event.preventDefault();
event.stopPropagation();
//do stuff here
//alert("Enter!");
}
else{ alert (event.keyCode);}
});
}
});
请注意,tinymce现在全都是小写..
答案 1 :(得分:0)
试试这个: $(function(){ $(&#34; #MYTEXTBOX&#34;)。keyup(function(e){ 警报(e.keyCode); }); });
答案 2 :(得分:0)
keypress对我不起作用,但keydown为我工作。
setup : function (instance) {
instance.on("keydown", function(e) {
var Keycode = (e.keyCode ? e.keyCode : e.which);
alert(Keycode);
});
}
答案 3 :(得分:0)
onkeypress不会检测到某些特殊键,例如Ctrl,Shift键等。请改用onkeypress或onekyup。