您也可以尝试使用focusout
Javascript事件和focus()
方法:
这是一个演示Subtitle 插件:/wp-content/plugins/subtitle/subtitle.php
<?php
/**
* Plugin Name: Subtitle
*/
function custom_add_input()
{
// your function code above ...
}
add_action( \'edit_form_after_title\', \'custom_add_input\' );
function subtitle_script( $hook )
{
if( in_array( $hook, array( \'edit.php\', \'post.php\', \'post-new.php\' ) ) )
{
wp_enqueue_script( \'subtitle-script\',
plugins_url( \'js/script.js\' , __FILE__ ),
array(),
\'1.0.1\',
FALSE
);
}
}
add_action( \'admin_enqueue_scripts\', \'subtitle_script\' );
下面是一个非jQuery版本的示例
wp-content/plugins/subtitle/js/script.js
文件:
// script.js
window.onload = function(){
// Add event listener to the title input
document.getElementById(\'title\').addEventListener( \'focusout\', focus_on_subtitle, false);
}
function focus_on_subtitle()
{
document.getElementById( \'the_subtitle\' ).focus();
}
我最初的jQuery版本不起作用,所以我测试了非jQuery版本,并且可以在我的安装中使用;-)
好吧,这个jQuery版本似乎可以工作:
jQuery(window).load( function() {
jQuery(\'#title\').focusout( function() {
jQuery(\'#the_subtitle\').focus();
});
});
还有这个
jQuery(document).ready( function( ){
jQuery(\'#title\').focusout( function() {
jQuery(\'#the_subtitle\').focus();
});
});
当标题输入文本字段失去焦点时:
它转到“subtitle”(字幕)输入文本字段。
但也许只拦截TAB
标题输入文本字段中的键代码。修改为this code, 例如,我们可以使用:
jQuery(document).on( \'keydown\', \'#title\', function( event ) {
var keyCode = event.keyCode || event.which;
if ( 9 == keyCode){
event.preventDefault();
jQuery(\'#the_subtitle\').focus();
}
});