将选择器传递给dialog.position()不能按预期工作

时间:2014-09-17 21:03:36

标签: jquery-ui jquery-ui-dialog

我正在使用jquery-ui版本1.11.0来创建对话框。我可以按预期创建一个对话框:

onClick: function(e){
  $('#result').dialog({height:400, width:315, position:{at:"center", of:"#"+e.key}})
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function () {
    if(xmlhttp.status == 200 && xmlhttp.readyState == 4){
      response = xmlhttp.responseText;
      $('#result').dialog().html(response);
    }
  };
  xmlhttp.open("GET", "floorplan.php?cube=" + encodeURIComponent(cubes[e.key]), true);
  xmlhttp.send();
}

对话框打开,并按预期分配响应。但是,即使我已经将选择器传递给位置选项,对话框的位置也默认为窗口的中心。

我使用了console.log()和alert()来验证e.key是我点击的区域元素的id来触发此事件。

有什么建议吗? documention表示我应该能够将选择器传递到(:)选项的位置。有没有其他人能够按预期工作?

1 个答案:

答案 0 :(得分:0)

jsfiddle中按预期工作。

我最终使用click事件来确定对话框的位置,但是由于某种原因它被双重包裹:

$('#result').dialog({height:100, width:315, position:{my: "left top", at:"right bottom", of:e.e}});