0

そのため、大量のdivがあり、ユーザーがdivにカーソルを合わせたときにボタンを表示しています。ユーザーがボタンをクリックすると、何かが実行されます。現時点での問題は、IE でボタンをクリックすると、ボタンが消えて何もしないことです。互換モードがオンの場合、Chrome FF や IE でも動作します。コードは次のとおりです。

     function highlightUnmarked ( field ) {
    $( field ).addClass("hover-markedfields");

    var selectedText = $('<div>').append( $( field ).clone() ).html();

    if ( ( selectedText.search( 'triangle-isosceles' ) == -1 )
        && ( selectedText.search( 'triangle-isosceles-blue' ) == -1 )   ) {

        var markButtonsDiv = document.createElement( "div" );
        markButtonsDiv.id = "markButton";

        var initialLink = document.createElement('a');
        initialLink.setAttribute('href', '#');
        initialLink.setAttribute('id', 'initial');
        initialLink.onclick = function() { initial() };

        var initialImg = document.createElement('img');
        initialImg.setAttribute('src', '<?php echo Yii::app()->params['DIRECTORY_NAME'] ?>/images/initial.png');

        initialLink.appendChild( initialImg );

        markButtonsDiv.appendChild( initialLink );

        $(field ).prepend( markButtonsDiv );

    } 

}

呼び出された関数は実行されません。関数の最初の部分としてアラートを配置しましたが、呼び出されていません。最悪のことは、エラーがスローされないことです。そのため、何が問題なのかわかりません。

以下は、呼び出される関数のコードです。ポップアップをスローするだけです。

    function initial () {

        $.blockUI({
            message: $('#popup2'),
            centerY: true,
            css: {
                top:  ($(window).height() - 200) /2 + 'px',
                left: ($(window).width() ) /2 + 'px',
                width: '400px',
                height: '',
                margin:'50px 10px',
                padding: '10px 20px 5px 5px',
                color: 'black'
            }
        });
}

助けてくれてありがとう。

編集: 申し訳ありませんが、単純な間違いが FF での動作を妨げていました。

4

1 に答える 1

0

あなたのコードは IE 自体で動作していませんか?あなたのコードが chrome でも動作しない場合は、以下が解決策です...

Jquery UI コンポーネントは、GoogleChrome バージョン 18 以降と互換性があります。それが問題である可能性があります。

于 2012-10-04T13:16:51.933 に答える