摘要:打开对话框窗口时,对话框包含一个表单,但INPUT字段不允许输入文本。当我按下一个键并且光标在文本字段中时,FireBug控制台报告以下错误:
不应使用keydown事件的'charCode'属性。价值毫无意义。 /lemonade_stand/start.php第0行
窗口打开时我也看到了这个错误:
未知的伪类或伪元素'tabbable'。 /lemonade_stand/start.php第0行
似乎某些过度事件正在聆听按键。我发现了一篇文章,建议我“从div中删除ui-dialog类”,但即便尝试也无济于事。
代码示例:
对话框的定义
var $priceWindow = $("#setPriceWindow").dialog({
autoOpen: false,
height: 306,
modal: true,
width: 380,
buttons: {
"Save": function(){
$.get('php/saveQA.php',
{
'cup': $("#pCup").val(),
'lemons': $("#pLemons").val(),
'sugar': $("#pSugar").val(),
'ice': $("#pIce").val(),
});
$(this).dialog('close');
},
Cancel: function(){
$(this).dialog('close');
}
}
});
打开对话框的事件
$("#setPrice").click(function(e){
e.preventDefault();
$priceWindow.dialog('open');
});
对话框的PHP / HTML内容
<div id="setPriceWindow" class="priceWin" title="Set Price and Quality">
<form>
<ul>
<li><label>Price Per Cup</label><span><span><input type="text" size="3" id="pCup" tabid="1" value="<?php echo $_SESSION['qa']['cup']; ?>" /><p>Cents</p></span></span></li>
<li><label>Lemons Per Pitcher</label><span><span><input type="text" size="3" id="pLemons" tabid="2" value="<?php echo $_SESSION['qa']['lemons']; ?>" /><p>Lemons</p></span></span></li>
<li><label>Sugar Per Pitcher</label><span><span><input type="text" size="3" id="pSugar" tabid="3" value="<?php echo $_SESSION['qa']['sugar']; ?>" /><p>Cups</p></span></span></li>
<li><label>Ice Per Cup</label><span><span><input type="text" size="3" id="pIce" tabid="4" value="<?php echo $_SESSION['qa']['ice']; ?>" /><p>Cubes</p></span></span></li>
</ul>
</form>
</div>
可在此处查看完整项目:http://yrmailfrom.me/games/lemonade_stand/start.php
答案 0 :(得分:0)
问题在于你的game.js脚本。
在
$("#setPrice").click(function(e){
e.preventDefault(); **// THIS LINE IS CAUSING THE TROUBLE**
$priceWindow.dialog('open');
});
同样在lemonade_game.css中尝试从此块中删除zIndex
div#setPriceWindow ul li span {
background: none repeat scroll 0 0 #F9F9F9;
border-left: 1px solid #CCCCCC;
border-right: 1px solid #BBBBBB;
margin: 0;
padding: 3px 0;
}