2017-07-27 6 views
1

の周囲にクリックイベントを登録していない私は、次のコードを持っている:は、FirefoxがDIV

<div data-type="nameHolder"> 
    <input data-type="name" disabled=""> 
</div> 

を私の考えでは無効になって入力を維持し、あなたがそれを可能にするために、それをダブルクリックしたときだけです。ただし、無効な要素でクリックイベントが検出されないため、私は所有者divを使用しています。これはChromeではうまく動作しますが、Firefoxではうまく動作しません。どのようにそれを修正するための任意のアイデア?

+1

すぎ –

+0

あなたのjQueryのコードを追加記入してくださいウルはそれがfirfoxのために再コーディングするのに役立ちますが、フィドルのコードを試してみました。 – Sathish

+0

なぜそれを読み込み専用にしないのですか? –

答えて

2

無効な要素はイベントを発生させないため、divを入力の上にラッパーとして使用し、イベントハンドラをこのdivに添付することができます。ラッパーdivをダブルクリックすると、入力を有効にしてラッパーdivを非表示にします。

$('.wrapper').dblclick(function(){ 
 
$(this).prev('input').attr('disabled', false); 
 
$(this).hide(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div data-type="nameHolder"> 
 
    <input data-type="name" disabled=""> 
 
    <div class="wrapper" style="position:absolute; top:0;left:0;right:0;bottom:0"></div> 
 
</div>

+0

これは完璧な、ありがとう! – user43051

1

hereにあなたのケースに対する解決策が既にあります。著者は、無効にされた入力の前に要素を配置し、その要素のクリックをキャッチしてクロスブラウザーをサポートすることを提案しました。

+0

これは完璧な、感謝を働かせる! – user43051

関連する問題