【发布时间】:2016-03-15 17:05:18
【问题描述】:
如何正确地将事件附加到弹出窗口中的元素?
这是我目前的做法:
HTML
<div id="userDetail">
<input id="checkbox" type="checkbox" />
<div id="button-confirm"></div>
</div>
JavaScript
var userDetail = $("#userDetail").dxPopup({
width: '550',
height: 'auto',
showTitle: true,
title: "Setup Import Template",
visible: false,
onShown: function () {
$('#checkbox').one('click', function () {
$('.template-view').toggle();
});
$("#button-confirm").dxButton({
onClick: function (e) {
e.jQueryEvent.preventDefault();
templateDataPopup.hide();
}
});
}
}).dxPopup('instance');
问题在于:
- 每次显示弹出窗口时,jQuery 都会将新的单击事件附加到
#checkbox元素,这是我使用.one()之后的事件。 -
#button-confirm元素的点击事件不会被附加两次。这是我想要的行为(虽然这不是我所期望的,但我认为因为它是一个 DevExpress 实例)。 - 在初始化弹出窗口之前,我曾尝试将事件附加到弹出窗口中的元素,但由于某种原因,在显示弹出窗口后,所有元素的事件都不起作用。
那么,如何正确地将事件附加到弹出窗口中的元素?
谢谢!
【问题讨论】:
标签: javascript html devexpress devextreme