我正在通过 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
});
或使用委托();
$('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()
从 jQ 1.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 回答