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