0

私はjsを持っています:

$(document).on('focus', '.uiopis', function() {
    $(this).removeClass("textareaBlur").addClass("textareaFocus");  
}).on('blur', '.uiopis', function() {  
    $(this).removeClass("textareaFocus").addClass("textareaBlur");   
}); 

およびhtml:

<div>
    <form>
        <textarea class="uiopis" id="os{{ us.id }}" name="os{{ us.id }}">{{ us }}</textarea>
    </form>
</div>

しかし、これはFirefoxでは機能しません。なぜですか?

4

1 に答える 1

2

フォーカス/ぼかしイベントはバブリングしないため、次のようにハンドラーをアタッチする必要があります。

$('.uiopis').on('focus', function() {
    $(this).removeClass("textareaBlur").addClass("textareaFocus");  
}).on('blur', function() {  
    $(this).removeClass("textareaFocus").addClass("textareaBlur");   
}); 

.uiopisが動的に生成されると仮定すると(コードで委任を使用し.uiopisているため)、DOM に追加した後にハンドラーを追加する必要があります。

于 2012-09-28T10:05:40.723 に答える