gpt4 book ai didi

javascript - 如何将按钮放入 select2 结果项并处理其点击?

转载 作者:数据小太阳 更新时间:2023-10-29 04:47:48 26 4
gpt4 key购买 nike

我试图在 select2 结果项中放置一个按钮(以允许用户删除项)。我设法放置了按钮,但我还没有设法处理它们的点击事件。不知何故,事件没有被引发。我认为这类似于 select2 在我的按钮的点击事件引发之前关闭下拉菜单,但无法弄清楚如何让它工作。

这是我现在拥有的片段。

...    
formatResult: function (item) {
return item.text + "<button class='btn btn-xs btn-default pull-right select2-result-button' data-id='" + item.id + "'>&times;</button>";
}
...
$(document).on("click", ".select2-result-button", function (e) {
alert("clicked: " + $(this).data("id"));
e.preventDefault();
e.stopPropagation();
return false;
});

这是一个演示 fiddle .我也试过 mousedown 事件但没有成功。

最佳答案

你应该看看这个答案:stackoverflow.com/a/15637696/1127669 :select2 库会阻止弹出列表上的任何点击事件。

但是您可以像这样重新定义 onSelect 事件:jsfiddle.net/qouo8uog/33 .

s2list.onSelect = (function (fn) {
return function (data, options) {
var target;

if (options != null) {
target = $(options.target);
}

// In case where the target is your own button, handle it
if (target && target.hasClass('select2-result-button')) {
alert("clicked: " + $(target).data("id"));
} else {
return fn.apply(this, arguments);
}
}
})(s2list.onSelect);

关于javascript - 如何将按钮放入 select2 结果项并处理其点击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25848177/

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