Javascript 按enter键创建br标记
我在一个使用tinymce编辑器的项目中工作。当光标位于方程式框内时,我希望按enter键时光标位于方程式框外。现在我的代码运行良好,但当我按enter键时,它会自动在编辑器中创建一个br标记。有人能指出我代码中的问题吗? 我的代码是:Javascript 按enter键创建br标记,javascript,tinymce,Javascript,Tinymce,我在一个使用tinymce编辑器的项目中工作。当光标位于方程式框内时,我希望按enter键时光标位于方程式框外。现在我的代码运行良好,但当我按enter键时,它会自动在编辑器中创建一个br标记。有人能指出我代码中的问题吗? 我的代码是: tinyMCE.init({ theme : "advanced", mode: "exact", elements : "elm1", oninit: function() { loadlistener(); }, javascript函数是: var am
tinyMCE.init({
theme : "advanced",
mode: "exact",
elements : "elm1",
oninit: function() { loadlistener(); },
javascript函数是:
var amedit = false;
function loadlistener() {
//console.log('load');
$("#elm1_ifr").contents().keydown(function (e) {
//console.log('key');
var code = (e.keyCode ? e.keyCode : e.which);
//console.log(code);
if (code == 13 && amedit) {
tinyMCE.execCommand("mceRepaint");
}
});
var p_parent = $("#elm1_ifr").contents().find("p");
setInterval(function () {
if (p_parent.find('span').length && p_parent.find('span')) {
amedit = true;
} else {
amedit = false;
}
}, 200)
};
您可以在我的live网站上查看:
同时也让你更清楚地了解我的问题
谢谢尝试从
keydown
处理程序返回false
。@Teemu,谢谢你的评论。我已经输入了return false,但只在chrome中有效。你能解释一下如何在firefox和IE中解决它吗?试试e.preventDefault()
和e.stopPropagation()
我对jQuery不太了解,但是它应该规范化事件属性,因此您可以使用来检测ENTER
。同样使用$(“#elm1_ifr”).contents()
看起来很奇怪,您应该在iframe
中找到窗口(如果$(“#elm1_ifr”)
是iframe
元素?)@返回的爆米花false
应该在jQuery中执行这两项操作。