Ajax 経由でいくつかのコンテンツを読み込んでいます。click
読み込みが完了したら、アンカー要素でイベントをトリガーしたいと考えています。しかし、これはうまくいかないようです。trigger
と をlive
一緒に使用するにはどうすればよいですか?
質問する
8184 次
6 に答える
7
次のようにトリガーできます。
<div id="test">CLICK</div>
$('#test').live('click', function() {
window.alert("works");
});
$(document).trigger({
type: 'click',
target: $('#test')[0]
});
基本的に、ライブ ハンドラーはドキュメント要素にバインドされるため、そこにイベントを送信する必要があります
于 2012-05-09T08:19:01.533 に答える
4
バインドライブイベント:
$('PARENT_OF_SOME_ELEMENT').on('EVENT_NAME', 'SOME_ELEMENT', function() {
// SOME_ELEMENT will be the target
});
またはdelegate();を使用します。
$('PARENT_OF_SOME_ELEMENT').delegate('SOME_ELEMENT', 'EVENT_NAME', function() {
// SOME_ELEMENT will be the target
});
トリガーするには:
$('SOME_ELEMENT').EVENT_NAME(); //eg. $('SOME_ELEMENT').click();
また
$('SOME_ELEMENT').trigger('EVENT_NAME'); //eg. $('SOME_ELEMENT').trigger('click');
イベント内でイベントをトリガーするには
$('AN_EVENT_HOLDER').EVENT_NAME(function() {
$('SOME_ELEMENT').EVENT_NAME(); // or $('SOME_ELEMENT').trigger('EVENT_NAME'); as illustrated above
});
例えば
$('.i_have_an_event').on('click', function() {
$('SOME_ELEMENT').click();
});
ノート
ここ
SOME_ELEMENT
に、PARENT_OF_SOME_ELEMENT
有効なセレクターがあります。.live()
非推奨になっているため、使用しないでください。
于 2012-05-09T08:15:31.440 に答える
3
.live()
メソッドはjQ1.6.8から非推奨になりましたが、次のメソッドを使用してください.on()
。
$(document).on('click','a.myAnchor', function(){
// do your stuff
});
$('#yourElement').on('click', function(){
$('a.myAnchor').click(); // trigger the dynamically created 'anchor' stuff
});
于 2012-05-09T08:13:48.100 に答える
1
$(function() {
$('<parent element selector>').on('click', '<target element selector>', function () {
// do your stuff
$('<anchor selector>').trigger('click');
});
});
于 2012-05-09T08:25:14.467 に答える
0
これを使って:
$('a#achTest').live('click', function(){
// some code
});
$('a#achTest').trigger('click');
于 2012-05-09T08:16:09.443 に答える
0
これは私のために働く別の方法です。
$('#test').live('click', function() {
alert("It works!");
});
$('#test')[0].click();
ここで重要な部分は次のとおりです。
$('#test')[0].click();
于 2014-12-18T08:00:24.177 に答える