任何人都可以指出这段代码有什么问题。这适用于Chrome,但不适用于Firefox。我已将我的问题更新为更清楚了。请查看下面的内容。实际上,它是tinymce编辑器。当我单击时,工具栏中的等式符号,自动创建带有类AMedit的跨度。现在当光标在等式内时,回车键不应该将光标移动到新行。我的代码仅适用于chrome,但不适用于其他浏览器。您可以在不同的浏览器中查看。
http://beyondthelogix.com/demos/editordemo/demo.html
tinyMCE.init({
theme : "advanced",
mode: "exact",
elements : "elm1",
setup : function(ed) {
ed.onInit.add(function(ed, evt) {
tinymce.dom.Event.add(ed.getDoc(), 'keydown', function(e) {
var existing = tinyMCE.get('elm1').getElement(e);
var code = (e.keyCode ? e.keyCode : e.which);
var spans = tinyMCE.activeEditor.getBody().getElementsByTagName("span");
if (spans.length > 0)
{
for (var i = 0; i < spans.length; i++)
{
if (spans[i].getAttribute("class") === "AMedit")
{
if (code === 13)
{
(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
}
}
}
}
});
});
},
当我使用警报时,我在firefox中获取它,但e.preventDefault()
不起作用。
答案 0 :(得分:1)
$("#button").click(function (e) {
e.preventDefault();
Chrome会初始化event
,但Firefox不会。
使用它,它将在Firefox和Chrome中使用。
不要放100 preventDefault();
。放在需要的地方。
示例:
$(".button").click(function (e) {
e.preventDefault();
$(this).fadeOut(250, function () {
$(this).closest('td').children('.hiddenDiv').show().fadeIn();
});
});
希望它有所帮助。
答案 1 :(得分:0)
这:(e.preventDefault) ? e.preventDefault() : e.returnValue = false;
您似乎正在尝试访问属性preventDefault
而不是调用方法preventDefault()
答案 2 :(得分:-2)
尝试返回false,应该适用于所有浏览器。
return false;
答案 3 :(得分:-2)
尝试使用event而不是e来使用preventDEfault。
evt.preventDefault()
我认为你正在调用一个不存在的变量或参数。你看到控制台里有什么东西吗?