0

IEだけでなく、Firefox、Chrome、Safariなどでも機能するデフォルトのEnterボタンを設定するための提案はありますか?デフォルトのボタンが設定されたパネルがいくつかありますが、ブラウザ以外でEnterキーを押すと、デフォルトでページの最初のリンクになります。

助言がありますか?

4

3 に答える 3

1

押されたボタンをチェックするJavaScriptを少し書くことができます。それがEnterキーの場合は、目的のアクションを実行します。

次のような入力を確認してください。

function checkEnter()
{
if(event)
{
if(evnet.keyCode == 13) //ur code
}
else if(evt)
{
if(evt.keyCode == 13) //ur code
}
} 
于 2009-11-04T17:02:02.053 に答える
1

ここでは 2 つの例を示しました。最初の例では jQuery を使用し、2 番目の例では古い学校の JavaScript を使用しています。

jQuery

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 
<script language="javascript" type="text/javascript">
    $("document").ready(function(){
        $(".searchBox").keypress(function(e){
            if (e.keyCode == 13)
                //add code here

        });
    });
</script>

<div class="searchBox">
    <input type="text" name="searchText"/>
    <input type="submit" value="search now" />
</div>

純粋な JavaScript

フォームを囲む div で「onkeypress」アクションを使用する前に、これを行いました。これは、IE7、Firefox3、および Chrome でテストされています。

例を次に示します。

<div id="searchBox" onkeypress="return clickButton(event,'btnSearch')">
    <input name="searchText" type="text" id="searchText"  />
    <input type="button" name="btnSearch" value="Search" id="btnSearch" onClick="SubmitAction()" /> 
</div>


<script type="text/javascript" language="javascript"> 
    function SubmitAction()
    {
        alert('button clicked');
    }

    function clickButton(e, btId){ 
          var bt = document.getElementById(btId);      
          if (typeof bt == 'object'){ 
                if(navigator.appName.indexOf("Netscape")>(-1)){ 
                      if (e.keyCode == 13){ 
                            bt.click(); 
                            return false; 
                      } 
                } 
                if (navigator.appName.indexOf("Microsoft Internet Explorer")>(-1)){ 
                      if (event.keyCode == 13){ 

                            bt.click();
                            event.cancelBubble = true; 
                            return false; 
                      } 
                } 
          } 
    }
</script> 

すべてのブラウザーで完全に互換性を持たせるために、これを編集する必要があるかもしれませんが、そこからアイデアを得る必要があります。基本的に、この div がフォーカスされている間にキーを押すと、clickButton() 関数が呼び出されます。他の回答で述べたように、13 の e.keyCode は Enter キープレスを表します。

于 2009-11-04T17:25:14.823 に答える