jQuery と BlockUI プラグインを追加しようとしている静的ページがあります。BlockUI を使用するには、まず jQuery をロードする必要があります。jQuery は問題なくロードできますが、後で BlockUI をロードして、ロードされたハンドラを呼び出すことができないため、作業を行うことができません。自分の HTML ページに BlockUI スクリプト タグが表示されているので、少なくとも、私が確認できる限り問題なく挿入されています。これが私のコードです:
var jqueryScript = document.createElement( "script" );
jqueryScript.src = "/glptools/scripts/jquery-1.9.1.min.js";
if ( jqueryScript.addEventListener ) {
jqueryScript.addEventListener( "load", jqueryReady, false );
}
else if ( jqueryScript.readyState ) {
jqueryScript.onreadystatechange = jqueryReady;
}
document.getElementsByTagName( 'head' )[0].appendChild( jqueryScript );
function jqueryReady() {
if ( typeof jQuery != 'undefined' ) {
$( document ).ready( function () {
//Initialize Tabber
tabberAutomatic( "" );
// Add BlockUI plugin
var blockUIScript = document.createElement( "script" );
blockUIScript.src = "/glptools/scripts/blockui/jquery.blockUI.js";
if ( blockUIScript.addEventListener ) {
blockUIScript.addEventListener( "load", blockUIReady, false );
}
else if ( blockUIScript.readyState ) {
blockUIScript.onreadystatechange = blockUIReady;
}
document.getElementsByTagName( 'head' )[0].appendChild( blockUIScript );
} );
}
}
function blockUIReady() {
$( "#tabbertabhide" ).each( function ( index, elem ) {
$( elem ).block();
} );
}
私の目標は、BlockUI を使用して、自分のページにあるタブをブロックすることです。ブロック UI ロード コードを ready() 呼び出しの外側に配置しようとしましたが、jQuery がロードされる前に、ロードされたハンドラーが呼び出されます。