gpt4 book ai didi

javascript - keyup 事件监听器中的 jQuery 单击事件监听器

转载 作者:行者123 更新时间:2023-12-03 08:45:48 26 4
gpt4 key购买 nike

我有一个 keyup 事件监听器,可以动态创建新按钮并将其添加到页面。然后,该按钮需要另一个 click 事件监听器,该监听器依赖于仅在 keyup 监听器内可用的数据来完成其工作。

这是我的代码:

$('.select2-input').on('keyup', function(e) {
var self = $(this);
if (self.prev().text() != 'Uhr') {
return;
}

if ($('.select2-no-results').is(':visible')) {
if (!$('#insertWatch').length) {
$($('<a href="javascript:;" id="insertWatch" class="btn btn-xs red" style="margin: 10px 0 0 10px;">Uhr Einfügen</a>')).insertAfter(this);
}
} else {
$('#insertWatch').remove();
}

$(document).on('click', '#insertWatch', function(e) {
alert('Added')
$.post('/insert/watch', { name: self.val() }, function(response) {
$('#supplier_id').prepend($('<option value="' + response + '" selected>' + self.val() + '</option>'));
$('.select2-drop-mask, .select2-drop-active').css('display', 'none');
});

return false;
});

e.stopPropagation();
});

单击添加的按钮时,click 事件监听器根本不会触发。我不明白为什么。总而言之,alert('Added') 永远不会弹出。

最佳答案

尝试在创建元素时附加偶数。

类似于:

$('.select2-input').on('keyup', function(e) {
var self = $(this);
if (self.prev().text() != 'Uhr') {
return;
}

if ($('.select2-no-results').is(':visible')) {
if (!$('#insertWatch').length) {
$($('<a href="javascript:;" id="insertWatch" class="btn btn-xs red" style="margin: 10px 0 0 10px;">Uhr Einfügen</a>')).insertAfter(this).on('click', '#insertWatch', function(e) {
alert('Added')
$.post('/insert/watch', { name: self.val() }, function(response) {
$('#supplier_id').prepend($('<option value="' + response + '" selected>' + self.val() + '</option>'));
$('.select2-drop-mask, .select2-drop-active').css('display', 'none');
});

return false;
});;
}
} else {
$('#insertWatch').remove();
}



e.stopPropagation();
});

关于javascript - keyup 事件监听器中的 jQuery 单击事件监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32895078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com