gpt4 book ai didi

javascript - 有没有办法阻止 TinyMCE 自动关注页面加载?

转载 作者:可可西里 更新时间:2023-11-01 02:48:56 25 4
gpt4 key购买 nike

我的表单上有许多输入字段,其中一个使用的是 TinyMCE(版本 3.5.2)。一旦 TinyMCE 加载,它就会将焦点设置到自身。我怎样才能防止这种情况发生?我想默认选择第一个输入。

这就是我的代码现在的样子

var tinymce = $('#Content');
tinymce.tinymce({
theme: "advanced",
plugins: "...",
theme_advanced_buttons1: "...",
theme_advanced_buttons2: "...",
theme_advanced_buttons3: "...",
theme_advanced_buttons4: "...",
theme_advanced_toolbar_location: "top",
theme_advanced_toolbar_align: "left",
theme_advanced_statusbar_location: "bottom",
theme_advanced_resizing: true,
content_css: [...],
template_external_list_url: "lists/template_list.js",
external_link_list_url: "lists/link_list.js",
external_image_list_url: "lists/image_list.js",
media_external_list_url: "lists/media_list.js",
template_replace_values: {
username: "Some User",
staffid: "991234"
}
});

更新:

经过更多测试,这个问题似乎只出现在 IE9 中。 Chrome、FireFox、Opera 和 Safari 不会在页面加载时将焦点设置到编辑器。 IE7 和 IE8 模式下的 IE9 也不会将焦点设置在页面加载上,但 IE9 本身会将焦点设置到编辑器,即使您尝试将焦点设置到另一个输入。

不过,一旦您使用文本区域中的值加载页面,这一切都会发生变化。当您这样做时,IE9 与其他浏览器一样工作。现在我正在加载文本区域中有一个空格的页面,这使 IE9 可以正常工作。

最佳答案

将有助于让您的剩余输入和表单结构了解更好的方法,但沿着这条线的一些东西应该会有所帮助:

jQUERY

function myCustomOnInit() {
$('form *:input[type!=hidden]:first').focus();
}

tinyMCE.init({
...
oninit : myCustomOnInit
});

来自Documentation :

This option enables you to specify a function to be executed when all editor instances have finished their initialization. This is much like the onload event of an HTML page.

Note: You can also pass the function name as a string. But in this case, the function has to be declared in the global scope of the page.

这里的技巧是为第一个可见输入设置焦点:

$('form *:input[type!=hidden]:first').focus();

查看这个working example !


已编辑

我花了很长时间来测试它并使其适用于 IE9,但它是:

查看此 Working Solution !

jQuery

setup : function(ed) {
ed.onLoadContent.add(function(ed, o) {
var controlLoad = setTimeout(function() {
if ($('.mceIframeContainer').size()==1) {
$('form *:input[type!=hidden]:first').focus();
clearTimeout(controlLoad);
}
}, 100);
});
}

这是在运行超时,直到找到类 .mceIframeContainer,这意味着加载已完成。找到后,为第一个输入元素设置焦点,并清除超时。

关于javascript - 有没有办法阻止 TinyMCE 自动关注页面加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10944450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com