0

私は次のコードを持っています:

 <ul>
    <li id="1">same html structure as below...</li>
    .....
    <li id="42">
    <div class="input-prepend">
       <button class="btn btn-small companyListBtn addMarkerBtn btn-primary btn-warning" type="button">   </button>                                                                                   
       <input class="input-medium companyListInput" maxlength="60" type="text"/>
       <button class="companyListBtn editCompanyBtn" type="button"></button>
    </div>
    <div id="42Div" class="companyAddressDiv">
       <input type="text" id="test" class="companyAddress" placeholder="Enter the Address"/>
       <button  class="btn btn-small compAddressSubmit" style="height:30px;margin-top:-9px;" type="button"></button>
    </div>
    </li>
    </ul>



$(document).on('click','.compAddressSubmit', function () {

    alert("clicked"); 
     //my logic going on here...couldnt mention everything...

    });

上記のコードはすべて正常に機能しています...唯一の問題は、マウスを使用してボタンをクリックした場合にのみonclickが実行されることです...ただし、キーボードのEnterボタンでは機能しません... .keydown.bind 、 .liveを試しましたそしてlistinersを使おうとしましたが、はっきりしていませんでした....大きな問題ではないことはわかっていますが、頭を動かすことができませんでした....助けてください....ありがとうございます

4

1 に答える 1

1

.on-bindingにキーダウンを追加できます。

$(document).on('click','.compAddressSubmit', function () {
    alert("clicked"); 
    }).on('keydown','.compAddressSubmit', function(e) {
      // bind this on the button or directly into the <input>-selector
      if(e.which === 13) {
       alert("you pressed enter");
      }
    });

しかし、フォーム送信をトリガーする場合は、より良い解決策があります。

$(document).on('submit','#yourformId',function() {
   alert("your form submit");
});
于 2013-01-17T16:08:59.623 に答える