Javascript 无法访问对话框标题中的元素

Javascript 无法访问对话框标题中的元素,javascript,jquery,jquery-ui,web,Javascript,Jquery,Jquery Ui,Web,我似乎无法获得标题栏中按钮的点击事件的引用,但如果它们位于对话框的常规内容区域,我可以单击它们。有人能告诉我正确的方向,以便能够从标题栏中的按钮注册单击事件吗 // Define the player details window dialog var dialog = $(".graph-container").dialog({ autoOpen: false, modal: true, show: { effect: "clip", d

我似乎无法获得标题栏中按钮的点击事件的引用,但如果它们位于对话框的常规内容区域,我可以单击它们。有人能告诉我正确的方向,以便能够从标题栏中的按钮注册单击事件吗

// Define the player details window dialog
var dialog = $(".graph-container").dialog({
    autoOpen: false,
    modal: true,
    show: {
        effect: "clip",
        duration: 1000
    },
    hide: {
        effect: "explode",
        duration: 2000,
        complete: function () {
            console.log('complete');
        }
    },
    width: modalWindow.width,
    height: modalWindow.height,
    resizable: false,
    beforeClose: function (event, ui) {
        console.log('before close function');
    },
    position: {
        my: 'center',
        at: 'center',
        of: window
    }
});

// Override the undocumented _title property to allow HTML in the title
// More info: http://stackoverflow.com/questions/4103964/icons-in-jquery-ui-dialog-title
dialog.data("uiDialog")._title = function (title) {
    title.html(this.options.title);
};
dialog.dialog('option', 'title', '<span class="left">Stats for ' + player.PlayerName + ' - Last ' + $scope.gameFilter + ' games</span>' +
        '<span class="right"><div id="dateButtonDiv">' +
        '<button class="dateButton">5</button>' +
        '<button class="dateButton">25</button>' +
        '<button class="dateButton">100</button>' +
        '</div></span>');

$(".graph-container").dialog("open");

$('.dateButton').click(function () {
    var btn = this;
    console.log('Date button clicked');
});
//定义播放器详细信息窗口对话框
var对话框=$(“.graph container”)。对话框({
自动打开:错误,
莫代尔:是的,
展示:{
效果:“剪辑”,
持续时间:1000
},
隐藏:{
效果:“爆炸”,
期限:2000年,
完成:函数(){
console.log('complete');
}
},
宽度:modalWindow.width,
高度:modalWindow.height,
可调整大小:false,
beforeClose:函数(事件、ui){
console.log('before close function');
},
职位:{
我的‘中心’,
在‘中心’,
的:窗口
}
});
//重写undocumented\u title属性以允许在标题中使用HTML
//更多信息:http://stackoverflow.com/questions/4103964/icons-in-jquery-ui-dialog-title
dialog.data(“uiDialog”)。\u title=函数(title){
html(this.options.title);
};
dialog.dialog('option','title','Stats for'+player.PlayerName+'-最后一个'+$scope.gameFilter+'games'+
'' +
'5' +
'25' +
'100' +
'');
$(“.graph container”)。对话框(“打开”);
$('.dateButton')。单击(函数(){
var btn=此;
log('单击日期按钮');
});

您的元素正在动态地进入dom,因此正常的单击事件对它们不起作用。您必须绑定文档对象上的事件并将其委托给动态类

下面的代码可能有效,您可以在您的案例中尝试

$(document).on('click', '.dateButton' , function() {
  var btn = this;
  console.log('Date button clicked');
});