1

アラートは機能していますが、ボタンがクリックされません...

$('#loginDialog .field input').keyup(function (e) {
     if (e.keyCode == 13) {
         alert('it is working!');
         $('.ui-button').click();
         return false;
     }
});

ダイアログが開いたときにメソッドを再初期化するなど、さまざまなことを試しましたが、何も機能しないようです...

HTML:

<div id="loginDialog" title="Please Login">
     <div class="label">Password:</div>
     <div class="field"><input type="password" /></div>
</div>
4

3 に答える 3

3

ui-buttonはjqueryuiによって生成されます

あなたのコメントから、ボタンは動的に生成され、バインドしたクリックイベントは、次のようにイベント委任を使用してバインドする必要があると想定しています。

$('body').on('click', '.ui-button', function(){...)

の代わりにbody、最も近い静的要素を使用することも同様に機能し、推奨されます。

于 2013-03-26T15:34:19.847 に答える
2

これを試してください:

$(function() {
$('#loginDialog .field input').keyup(function (e) {
     if (e.keyCode == 13) {
         alert('it is working!');
         $('.ui-button').trigger('click');
         return false;
     }
});

$('.ui-button').click(function() {
   alert('hello world'); 
});
};

ここに例があります:http://jsfiddle.net/netme/YZH3B/

于 2013-03-26T15:33:46.297 に答える
2

これにより、イベントがトリガーされます...

 $('.ui-button').trigger('click');
于 2013-03-26T15:38:58.023 に答える