DevExpress (JS / HTML) 将事件附加到弹出窗口中的元素

DevExpress (JS / HTML) Attach Events to Elements in a Popup

如何正确地将事件附加到弹出窗口中的元素?

我目前是这样做的:

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');

问题在于:

那么,如何正确地将事件附加到弹出窗口中的元素?

谢谢!

我得到了 DevExpress 支持的答复,建议使用 contentTemplate。回复:

Use the contentTemplate property to create popup content and add the required events to it:

contentTemplate: function (contentElement) {
    contentElement.append('<input id="checkbox" type="checkbox" />');
    var hideButton = $("<div id='button-confirm'>").dxButton({
        text: "Hide popup",
        onClick: function (e) {
            popupInstance.hide();
        }
    });
    contentElement.append(hideButton);
}

因此,建议在 contentTemplate.

中附加事件,而不是通过 onShown 事件附加事件

您还可以从 contentTemplate

中的 HTML 标签加载弹出内容