我希望在创建相应的 HTML 对象(在我的例子中为 href
)后触发一个事件。
我写了这段代码:
$(document).ready(function() {
$('body').on('click', '#stats-link', function(e) {
console.log('TRIGGERED'); // nothing is logged
e.preventDefault();
$.post('stats.php', {'email': $('#email').val()}, function() {
window.location = $(this).attr('href');
});
});
$('#submit_button').click(function(e) {
e.preventDefault();
...
$('#info').html('<p class="desc"><a href="stats.php" id="stats-link">bla bla bla</a></p>');
...
});
});
所以,我在#submit_button
函数中创建了一个由stats-link
标识的href
对象,然后我希望他在相应的函数(即 $('body').on(...)
,但它没有发生。我做错了什么?
最佳答案
你错过了这一行吗:
$('#stats-link').trigger('click');
这将触发点击事件。您共享的代码仅绑定(bind)事件。您需要触发它。
JS:
$(document).ready(function () {
$('body').on('click', '#stats-link', function (e) {
e.preventDefault();
alert('clicked')
$.post('stats.php', {
'email': $('#email').val()
}, function () {
window.location = $(this).attr('href');
});
});
$('#submit_button').click(function (e) {
e.preventDefault();
$('#info').html('<p class="desc"><a href="stats.php" id="stats-link">bla bla bla</a></p>');
$('#stats-link').trigger('click'); //This is where you trigger the click.
});
});
关于javascript - 在JQuery中制作HTML对象后触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26503721/