如何在事件仅触发一次之后取消释放

Phi*_*ler 0 jquery events

我有一个事件连接在一组选择列表(也就是下拉列表)上 - 在触发绑定事件时 - 我需要从中删除事件.

每个选择列表都包含"更改"事件,如下所示:

$('#batting-delivery-table tbody').delegate('select[id^="shot-"]', 'change', function () {
    $(this).find('option:first').remove();
});
Run Code Online (Sandbox Code Playgroud)

一旦删除了列表中的第一个选项,我想确保没有删除其他选项.我尝试过以下内容,但没有成功:

$('#batting-delivery-table tbody').delegate('select[id^="shot-"]', 'change', function () {
    $(this).find('option:first').remove().undelegate($(this), 'change');
});
Run Code Online (Sandbox Code Playgroud)

我还尝试了"live"/"die"的变体,并考虑使用$ .one(),如果我可以想象如何安排我的代码.

建议表示赞赏.

Nig*_*888 8

jQuery .one()函数用于此特定目的.

.一()

描述:将处理程序附加到元素的事件.每个元素最多执行一次处理程序.