我有一个HTML页面,当点击一个链接时会动态创建一个下拉窗口,如下面(编辑过的)javascript函数所示:
tbiObj._login = function (objEle) {
var windowName = 'TBIOBJ_LOGIN';
var tabObjLoginWindow = tbiObj.getWindow(windowName);
//if tabObjLoginWindow doesn't exist then create it here (code excised)
var windowDiv = tabObjLoginWindow.getWindowId('body');
var windowHTML = $('LOGINDIALOG').innerHTML;
$(windowDiv).innerHTML = windowHTML;
tabObjLoginWindow.show('dropdown', objEle);
}
提供" innerHTML"的模板(LOGINDIALOG)。使用display:none:
在页面后面定义如下<div id="LOGINDIALOG" style="display:none;">
<div id="LOGIN.ERRORS" style="display:none; color:red;"></div>
<table>
<tr>
<td class="GrBlue" style="white-space:nowrap;">User Name:</td>
<td>
<input class="GrBlueEdit" type="text" id="LOGIN.UNAME" / style="">
</td>
</tr>
<tr>
<td class="GrBlue" style="white-space:nowrap;">Password:</td>
<td>
<input autocomplete="off" class="GrBlueE" type="password" id="LOGIN.PWORD" / style="">
</td>
</tr>
</table>
我需要更改一些属性并在下拉窗口中为元素添加处理程序。我一直在试验(我不是一个经验丰富的js或jquery编码器)并且在创建窗口和复制HTML之前尝试使用模板元素来更改它们。我只能改变&#34;类型&#34; LOGIN.UNAME和LOGIN.PWORD的属性,但不是其他(例如样式,类)的属性,也不能添加像onkeydown这样的事件处理程序,也不能更改值。我的想法是,我可能需要&#34;到达&#34;这些元素在被装入窗体之后,但我不知道如何。我可以显示函数中定义的变量windowHTML,但是它是。所以我的问题是:
1。为什么不可能通过js或jQuery(或者如果它就是我失败的地方)来更改元素LOGIN.UNAME的值,样式,类等和LOGIN.PWORD,为什么不能添加事件处理程序(例如onkeydown)?
2. 如何在创建窗口内容后访问窗口内容的DOM?
现在,很有可能,我甚至可能在提出这些问题时犯错,但我想解决这个问题。任何指向资源或提示的指针都将不胜感激。