2009-05-30 13 views
0

質問の検索ボックスはhttp://www.trailbehind.comにあります。ユーザーが2回検索しようとすると、束をバックスペースで押してテキストをクリアする必要がありますが、ダブルクリックですべてのテキストを選択したいのですが、デフォルトで入力する必要があります。なぜ気にしないのですか?この検索ボックスで、クリック時にすべてのテキストが選択されないのはなぜですか?

次のようにユーザーが最初にクリックすると、私は入力をクリアする場合:

 
input.onclick = clearInitialValue; 

function clearInitialValue() { 
    this.value = ""; 
    this.onclick = 'return True'; 
    this.style.color = "black"; 
} 

あなたは私はこの謎を解決するために知っておく必要があるかもしれないもう一つは、私はYUIのオートコンプリートをインスタンス化するための入力を使用したことである:http://developer.yahoo.com/yui/autocomplete/しかし、テキストを選択するために入力をダブルクリックしてもうまくいかない理由を説明する文書では何も見つかりません。

+0

テキストを消去している場合は、dblClickでテキストを選択するにはどうすればよいですか? frstのクリックは常にテキストをクリアします...例えば、テキストが最初のテキストと等しい場合、テキストをクリアすることができます。 – balexandre

+0

最初に入力をクリックするとクリアされ、次にonclick関数がClearInitial Valueではなくtrueを返すように設定されることに注意してください。 次のコードは、また、私のために動作しません:

 input.onfocus = clearInitialValue; function clearInitialValue() { this.value = ""; this.style.color = "black"; this.onfocus = 'return true'; } 
私は考えていますが、今ではYUIのオートコンプリートとGMapの間に何らかの相互作用です。 –

答えて

0

私が問題になる可能性がある一つのことを参照してください、あなたは

this.onclick = 'return True'; 

JavaScriptが大文字と小文字が区別され

this.onclick = 'return true'; 

を試してみます。

1

JavaScriptイベントごとに1つのメソッドしか持てないことに注意してください。したがって、あなたの例ではonclickイベントを取り消しています。もう一度やり直さないでください。

さらにイベントリスナーを使用する必要があります。

YAHOO.util.Event.on(oDiv, "click", clearInitialValue); 

それは直接あなたの質問に答えるが、覚えておいてくださいません:あなたはYUIを使用しているので、コードのようなものになることをmetion

var oDiv = document.getElementById('thediv'); 

oDiv.addEventListener('click', function (e) { 
    // your method here 
}, true); 

または単純

oDiv.addEventListener('click', clearInitialValue, true); 

javascriptイベントを処理するとき


あなたのコードが実行される偉大な、あなたの質問に答えるために...あなたはそれを編集するために、URLに/編集を追加することができますJSBIN

で実行されているコードをチェックしてください。代わりにあなたの

this.onclick = 'return True'; 

1

これはボックス内のテキストを選択します

this.onclick = 'this.select(); return true'; 

を試してみてください。

これをクリックするのではなく、フォーカスで行うことを検討してください。

あなたが好きなように動作しない場合は、YUIの自動補完機能をオフにして、干渉していないかどうかを確認してください。私はそれを見た。

これで解決できない場合は、グーグルマップに貼る前にクリーンなページに他のJSを実装せずに単純化してください。

これが役に立ちます。

関連する問題