$timeLine.find('#deleteBtn').each(function (i, item) { $(this).on('click', async function () { const popconfirm1 = new Popconfirm(this); popconfirm1.ononConfirm = () => { // 用户确认时执行的操作 }; }); });事件为什么需要点击两次、
时间: 2023-12-12 14:02:34 浏览: 126
根据你提供的代码,似乎是因为在点击第一次时,只是创建了一个 `popconfirm1` 的实例,但没有执行 `popconfirm1.onConfirm` 中的操作。只有在第二次点击时,才会触发 `popconfirm1.onConfirm` 中的操作。
可能需要对代码进行修改,例如:
```javascript
$timeLine.find('#deleteBtn').each(function (i, item) {
$(this).on('click', async function () {
const popconfirm1 = new Popconfirm(this);
await popconfirm1.show(); // 等待用户确认或取消
if (popconfirm1.confirmed) {
// 用户确认时执行的操作
}
});
});
```
这里使用了 `await` 等待用户确认或取消,然后根据 `popconfirm1.confirmed` 的值判断用户是否确认。这样就不需要点击两次了。当然,具体实现可能需要根据 `Popconfirm` 类的具体实现进行调整。
阅读全文