我的html中有一个div,如下所示:
<div id="rgroups" class="dialogWindow fileDialog" style="display:none;" >
<input id="rgroups_ok" class="dialogButton" type="submit" value="Done"/>
<label for="rgroups_ok"><span class="label">Start</span></label>';
</div>
在我的js文件中,rgroups_ok是这样定义的:
$('rgroups_ok').observe('click', function ()
{
ui.hideDialog('rgroups');
});
如果我坚持认为它工作正常,按钮就可以了。
然后我就像那样填写那个html div:
var div=document.getElementById('rgroups');
div.style.display='inline-block';
for (i = 1; i <= count; i++) {
div.innerHTML+=' Rgroup '+i+' values separated by / symbol: \n <textarea id="Rgroup"'+i+' rows="4" cols="50"> </textarea>';}
使用内部HTML定义按钮停止工作......
有任何线索吗?
由于
答案 0 :(得分:1)
尝试将观察更改为 所以这个:
$('#rgroups_ok').on('click', function ()
{
ui.hideDialog('rgroups');
});
您可以查看on() here的详细信息。
观察似乎是obsolete,可能不是你想要的东西。
答案 1 :(得分:0)
我无法理解清楚。所以我制作了演示代码。
如果你能提到你的主题/想法,它会对我们有所帮助。
完整代码:
头:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
体:
<div id="rgroups" class="dialogWindow fileDialog">
<label for="rgroups_ok">
<span class="label">Start</span>
</label>
</div>
<div id="rgroups2" style="display:none;">
<p onclick="textA()">Hey click here</p>
</div>
<button id="rgroups_ok2" class="dialogButton" onclick="a()">
Done
</button>
<script>
function a() {
$('#rgroups').css("display", "none");
$("#rgroups2").css("display", "inline-block");
$("#rgroups_ok2").css("display", "none");
};
function textA() {
var count = 100;
//document.getElementById("rgroups2").innerHTML += "Bye";
for (i = 1; i <= count; i++) {
document.getElementById("rgroups2").innerHTML += '<p> Rgroup ' + i + ' values separated by / symbol: \n <textarea id="Rgroup" rows="4" cols="50">' + i + ' </textarea></p>';
}
}
</script>
答案 2 :(得分:0)
您好在这篇文章中找到了解决方案: Is it possible to append to innerHTML without destroying descendants' event listeners?
总结一下,如果不摧毁所有孩子,就不可能追加。事件必须重建。
由于