-1

フォーカスがないときに複数のデフォルト値を点滅させる検索ボックス入力フィールドが欲しいのですが。「ニューヨーク」で3秒間、「ロサンゼルス」で3秒間など、またはこれらの入力をシミュレートするのもよいでしょう。

私がやったことはこれです

http://jsfiddle.net/5aD7W/1/

ただし、問題は、フォーカスが合っている場合でも、.val()が3秒ごとにオーバーライドされることです。

4

3 に答える 3

3

私が思いついた1つの方法:

var words = ['New York', 'Los Angeles', 'Home'];
var $search = $('#searchId');
var index = -1;

function foo() {

    if ($search.is(':focus')) {
        return;
    }
    index++;
    $search.val(words[index % words.length]);
}​

setInterval(foo, 3000);

ライブデモ

于 2012-05-30T09:02:55.273 に答える
2

あなたはJsFiddleでこのデモのようにそれを行うことができます

HTMLで

<input id="txtCity" type="text" value="New York"  />​

INスクリプト

  arr = ["New York", "Los Angesles", "London"];
txtCity = $('#txtCity');
i=0;
setInterval(function(){ 

    if (txtCity.is(':focus')) 
        return;   
    txtCity.val(arr[i++]);
    if(i==arr.length)
         i = 0;
}, 2000);

$('#txtCity').focus(function(){
    this.value=""
 });
​
​
于 2012-05-30T09:03:49.480 に答える
1

これを行うにはスクリプトが必要になるため、jQueryが適しています。単純なマークアップでは問題は解決しません。関連:Javascriptを使用してHTML5入力要素の「プレースホルダー」属性を動的に変更する

于 2012-05-30T09:01:11.750 に答える