3

スクリプトにビープ音を追加する必要があります。音が必要なときは毎回追加します。

$("#beep").html("<embed src='button-16.wav' hidden='true' autostart='true' loop='false' id='bp' />")

しかし、追加すると、フォーカスが失われました。

以下の方法で再度ピントを合わせてみました。

1)

$("#beep").html("<embed src='button-16.wav' hidden='true' autostart='true' loop='false' id='bp' />");
$("#txt").focus();

2)

$("#beep").html("<embed src='button-16.wav' hidden='true' autostart='true' loop='false' id='bp' />");
$("#bp").ready(function(){
    $("#txt").focus(); 
});

しかし、最初の方法も 2 番目の方法も機能しません。

HTML コード。

<div id="beep"></div>
<input type="text" id="txt" />

では、ビープ音の後にテキストボックスのフォーカスを保存するにはどうすればよいですか?

4

2 に答える 2

0

間隔を設定して、wavファイルの終わりがフォーカスを取得しているかどうかを確認できますか?

setInterval(function() {
  $("#txt").focus(); 
}, 100);

これはトラブルシューティングの目的でのみお勧めします...実際の修正としてではありません。.wavの実行には、focus()である次のプロセスの実行よりも時間がかかる場合があります。

于 2011-03-16T00:00:43.133 に答える
0

この問題を解決するためのまったく異なる方法を見つけました。JavaScript が関数を呼び出したときにビープ音を鳴らす *.swf を作成しました。

ActionScript コード。

package  {
import flash.display.*;
import flash.events.*;
import flash.system.*;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.external.ExternalInterface;

public class Main extends Sprite {
    var s:Sound;
    public function Main() 
    {
        ExternalInterface.addCallback("PlaySound", PlaySound);
        var request:URLRequest = new URLRequest("beep.mp3");
        s = new Sound(request);
    }
    public function PlaySound():void
    {
        s.play();
    }
}
}

JavaScript コード。

$("#txt").keyup(function(event){
    if(event.which==13){
     var obj=thisMovie("Main");
     obj.PlaySound();
    }
});

function thisMovie(movieName) {
var movie;
try
{
    movie = document[movieName];
    movie = (movie == null) ? window[movieName] : movie;        
}
catch (e)
{
    return null;
}
return movie;
}
于 2011-03-17T10:05:27.760 に答える