jqueryZUI框架里面的一个模态包含另一个模态,都绑定了 on(shown.zui.modal) ,但是handle不一样,handler会被调用两次吗?
时间: 2024-04-15 16:32:05 浏览: 120
经过绑定元素时会多次触发mouseover和mouseout事件
5星 · 资源好评率100%
在 ZUI 框架中,如果一个模态框包含了另一个模态框,并且两个模态框都绑定了 `.on('shown.zui.modal', handler)` 方法,那么在打开外层模态框时,内层模态框的处理程序(handler)可能会被调用两次。
这是因为在打开外层模态框时,内层模态框也会被显示,并且会触发自己的 `'shown.zui.modal'` 事件。因此,外层模态框的 `'shown.zui.modal'` 事件处理程序和内层模态框的 `'shown.zui.modal'` 事件处理程序都会被调用。
以下是一个示例来说明这个情况:
```javascript
$('#outerModal').on('shown.zui.modal', function () {
console.log('外层模态框已经显示完成');
// 执行其他操作
});
$('#innerModal').on('shown.zui.modal', function () {
console.log('内层模态框已经显示完成');
// 执行其他操作
});
```
当打开外层模态框时,控制台会输出两行信息:
```
外层模态框已经显示完成
内层模态框已经显示完成
```
这表示外层模态框的 `'shown.zui.modal'` 事件处理程序和内层模态框的 `'shown.zui.modal'` 事件处理程序都被调用了。
如果你只想在特定的模态框上绑定事件,并避免重复调用处理程序,可以使用选择器或特定标识符来准确指定目标模态框。这样,你可以确保每个模态框的事件处理程序只会在相应的模态框上被调用。
阅读全文