3

jQueryを使用してアウトラインが設定されたdivがあります。Chromeでは正常に動作していますが、IEでは動作していません。

アウトラインはIE6とIE7では機能しないことは知っていますが、IE8とIE9でも機能しません。

特定のdivをクリックしたときに他のdivが配置されるdivFormContainerがあり、それを強調表示したいので、クリックすると、そのdivのフォーカスを設定し、次のようにフォーカスイベントを処理します。

$('.FormContainer div').focus(function (e) {    
        if ($(e.target).hasClass('QuestionText') == false) {    
            $(this).css({ 'outline': 'black auto thin' });
            $(this).find('.buttonControl').show();    
            $(this).find('.buttonControl').css({ 'border': '1px solid black', 'border-bottom': 'none' });    
            $(this).addClass('FocusDiv');    
        }    
        e.stopImmediatePropagation();    
    });

他のすべてのcssは正常に機能していますが、機能していないだけ$(this).css({ 'outline': 'black auto thin' });です。Chromeでは正常に動作していますが、IE8およびIE9では動作しません。

4

1 に答える 1

3

これはIE8で機能します:

$('div').css({'outline': '1px solid blue'});​

ここでテストできます:

http://jsfiddle.net/MCPHX/1/

更新
IEが気に入らない部分は、アウトラインの値内の「自動」です。したがって、black solid thin代わりに使用してください。

ところで、これは略記です{'outline-width': 'thin', 'outline-style': 'solid', 'outline-color': 'black'}

これらのプロパティの標準で受け入れられる値は、次の場所にあります:http ://www.w3schools.com/css/css_outline.asp

于 2012-08-06T14:35:31.783 に答える