0

私のマークアップは次のとおりです。

<li><span>..</span>
   <input type="button" id="clickme" Value="click ME" />
</li>

私の質問は、li (ボタン) の入力子のクリック イベントを jquery を使用して自動的に発生させる方法です。

ID でボタンにアクセスしたくない .children() メソッドを介してアクセスしたい。私はこれをやろうとしましたが、うまくいきませんでした:

<li id="liID"><span>...</span><input type="button" id="clickme" value="click ME" />

$("#liID").children("input").trigger('click');

しかし、それはうまくいきませんでした:/

4

4 に答える 4

0

実際にプログラムでボタンをクリックしようとしていますか、それともクリックイベントに添付されたJavascriptをトリガーしようとしていますか?2つは異なります:

クリックイベントに関連付けられたJSをトリガーするには、次のような操作を行うだけです。

$('input', '#liID').click();
$('#liID').children('input').trigger('click');
etc

ただし、私の知る限り、JSでクリックイベントを実際に偽造することはできません。イベントハンドラーにアタッチされたJSをトリガーすることはできますが、デフォルトの機能を探している場合、それを行うための信頼できる方法はないと思います。そのため、JS関数を作成してクリックにアタッチすることをお勧めします。入力のイベント。次に、それをプログラムでトリガーできます。

于 2012-07-24T08:11:56.143 に答える
0

あなたは言うことができます:

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

これは次のショートカットです。

$('#clickme').trigger('click');

詳細については、jQuery API doco for.click()およびを参照してください.trigger()

編集:親のli要素のIDを介して入力を選択したいと言っているようです。その場合、入力が直接の子であることに依存したくない場合は、次のようにします。

$("#liID").find("input").click();
// OR
$("#liID input").click();

または、直接の子である入力のみを選択する場合は、コードが機能するはずです。

$("#liID").children("input").trigger('click');
于 2012-07-24T07:32:08.130 に答える
0

あなたが使用することができます

$('#clickme').trigger('click');
于 2012-07-24T07:31:01.403 に答える
0

メソッドを使用できますtrigger()

指定されたイベント タイプの一致した要素に関連付けられているすべてのハンドラーと動作を実行します。

$('li input').trigger('click');

また:

$('#clickme').click()

liタグを閉じて、find()メソッドを使用してみてください:

<li id="liID"><span>...</span><input type="button" id="clickme" value="click ME" /></li>

$("#liID").find("input").trigger('click');
于 2012-07-24T07:31:13.817 に答える