2016-08-19 14 views
0

助けが必要な場合は、このスクリプトで何が間違っていたのか分かりません。イベントのクリックが正常に動作しない

https://www.walmart.com/ip/51629774 -

<button type="button" class="js-btn-ask-question js-ask-btn-m btn-ask-question btn pull-right" id="WMItemAskAQuestBtn"> Ask a question </button> 

スクリプト

$(document).keydown(function (e) { 
    switch (e.which) { 
    case 13: // Enter 
     $('#WMItemAskAQuestBtn')[0].click(); 
     break; 
    } 
}); 
+1

$( '#WMItemAskAQuestBtn')。click(); '? – guradio

答えて

0

'#' のidセレクタだけリターンを - 私は下

に向かって質問ボタンを依頼ボタンがあるにクリックしようとしています1要素は配列ではなく、各要素は一意のIDを持つ必要があるためです。

$(document).keydown(function (e) { 
 
    switch (e.which) { 
 
    case 13: // Enter 
 
     $('#WMItemAskAQuestBtn').click(); 
 
     break; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

さて、私はそれを試みましたが、それでも動作しないので、私は[0]を置くと考えたのです。私がEnterキーを押すと機能しませんが、手動でボタンをクリックしようとするとスクリプトがページ上で有効になっても何もしません。無効になっている場合は、テキストボックスを開きますか? –

+0

console.log($( '#WMItemAskAQuestBtn'))でデバッグしようとすると、まずバニラのjavascriptでこれを複製しようとしていますか? – Darrennchan8

+0

私は両方を行い、結果を報告します。 –

0

問題は次のとおりです:

$('#WMItemAskAQuestBtn')[0].click(); 

あなたは#つまり、IDセレクタを使用している、それだけで1つのHTMLオブジェクトを返しますか、それだけで選択されますここで改訂されたコードです1つのhtmlオブジェクト。したがって、[0]を使用する必要はありません。ただ使用してください:

$('#WMItemAskAQuestBtn').click(); 

ドキュメント内で一致するIdボタンをクリックします。

PS:任意の一致するHTML要素があるかそうでないかどうかを確認するために

alert($('#WMItemAskAQuestBtn').html()); or alert($('#WMItemAskAQuestBtn').val());| 

:そのようなことに対処するための最良の方法は次のように警告を入れています。

関連する問題