Javascript 如何将唯一事件侦听器绑定和解除绑定到同一对象?
假设我有以下javascript:Javascript 如何将唯一事件侦听器绑定和解除绑定到同一对象?,javascript,jquery,Javascript,Jquery,假设我有以下javascript: $.each(idArray, function (index, value) { $('#'+value).on('mouseenter', function(event) { showTooltip(); $(document).on('click', function (event) { if(!$(event.target).is('#'+value)) {
$.each(idArray, function (index, value) {
$('#'+value).on('mouseenter', function(event) {
showTooltip();
$(document).on('click', function (event) {
if(!$(event.target).is('#'+value)) {
hideTooltip();
//remove this listener
}
});
});
});
我如何在每个“单击”侦听器被触发后将其删除,是否有任何方法可以唯一标识它们并从其他地方删除它们?显然,我无法解除“单击”文档元素的绑定
$(document).on('click', function handlerName(event) {
if(!$(event.target).is('#'+value)) {
hideTooltip();
$(this).off('click', handlerName);
}
});
这里为匿名函数指定一个名称,然后使用它分离处理程序
这里为匿名函数指定一个名称,然后使用它分离处理程序
这里为匿名函数指定一个名称,然后使用它分离处理程序
在这里,您将为匿名函数分配一个名称,然后使用它分离处理程序。您可以使用它
$.each(idArray, function (index, value) {
$('#' + value).on('mouseenter', function (event) {
showTooltip();
$(document).on('click.tooltip', function (event) {
if (!$(event.target).is('#' + value)) {
hideTooltip();
//remove this listener
$(this).off('click.tooltip');
}
});
});
});
你可以用它
$.each(idArray, function (index, value) {
$('#' + value).on('mouseenter', function (event) {
showTooltip();
$(document).on('click.tooltip', function (event) {
if (!$(event.target).is('#' + value)) {
hideTooltip();
//remove this listener
$(this).off('click.tooltip');
}
});
});
});
你可以用它
$.each(idArray, function (index, value) {
$('#' + value).on('mouseenter', function (event) {
showTooltip();
$(document).on('click.tooltip', function (event) {
if (!$(event.target).is('#' + value)) {
hideTooltip();
//remove this listener
$(this).off('click.tooltip');
}
});
});
});
你可以用它
$.each(idArray, function (index, value) {
$('#' + value).on('mouseenter', function (event) {
showTooltip();
$(document).on('click.tooltip', function (event) {
if (!$(event.target).is('#' + value)) {
hideTooltip();
//remove this listener
$(this).off('click.tooltip');
}
});
});
});