Javascript 刷新jquery。单击父窗口中的侦听器以使用新元素

Javascript 刷新jquery。单击父窗口中的侦听器以使用新元素,javascript,jquery,html,Javascript,Jquery,Html,我有一个HTML表格,在表格单元格中单击会打开一个弹出窗口,并在该表格中添加新的表格行。我还想将.click()侦听器添加到这些行中。这是我的HTML表格 <table id="myTable" style="width: 100%;"> <tr><th></th><th>Kompetence</th><th>1</th><th>2</th><th>3</th

我有一个HTML表格,在表格单元格中单击会打开一个弹出窗口,并在该表格中添加新的表格行。我还想将.click()侦听器添加到这些行中。这是我的HTML表格

<table id="myTable" style="width: 100%;">
<tr><th></th><th>Kompetence</th><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th></tr>

<tr style=><td rowspan="2">My text</td>
<td>Some text</td><td class="hodnoceni 1">&nbsp;</td><td class="hodnoceni 2">&nbsp;</td><td class="hodnoceni 3">&nbsp;</td><td class="hodnoceni 4">&nbsp;</td><td class="hodnoceni 5">&nbsp;</td><td class="hodnoceni 6">&nbsp;</td></tr>
<tr><td>Another text</td><td class="hodnoceni 1" title="sum titl">&nbsp;</td><td class="hodnoceni 2">&nbsp;</td><td class="hodnoceni 3">&nbsp;</td><td class="hodnoceni 4">&nbsp;</td><td class="hodnoceni 5">&nbsp;</td><td class="hodnoceni 6">&nbsp;</td></tr>
<tr class="newPartOfTable"><td rowspan="50">This is new part of table</td><td id="testId" class="testClass">&nbsp;</td><td class="hodnoceni 1">&nbsp;</td><td class="hodnoceni 2">&nbsp;</td><td class="hodnoceni 3">&nbsp;</td><td class="hodnoceni 4">&nbsp;</td><td class="hodnoceni 5">&nbsp;</td><td class="hodnoceni 6">&nbsp;</td></tr>
</table>
这是javascript,它向表中添加新行(在弹出窗口中)

var table=window.opener.document.getElementById(“myTable”);
控制台日志(表);
var row=tabulka.insertRow();
对于(变量i=0;i<7;i++){
var单元=行插入单元(i);
cell.innerHTML=“”;
cell.className=“hodnoceni”;
}
我要做的是在向表中添加新行之后,我希望它们绑定现有的.click()函数


谢谢您的帮助。

您可能想看看jquery live函数


您可能想看看jquery live函数

使用
.on()

只需替换:

$("#myTable .hodnoceni").click(function() {
与:

这将为将来的动态dom元素绑定click事件,而不仅仅是那些使用初始dom加载的元素

希望有帮助。

使用
.on()

只需替换:

$("#myTable .hodnoceni").click(function() {
与:

这将为将来的动态dom元素绑定click事件,而不仅仅是那些使用初始dom加载的元素

希望有帮助。

使用

由于javascript添加的新元素在DOM就绪或页面加载时不是DOM的一部分,因此您必须使用

使用

由于javascript添加的新元素在DOM就绪或页面加载时不是DOM的一部分,因此您必须使用

你可以用like

你可以用like


jQuery live在某些版本中已被弃用。所以最好使用“on”。


它应用于DOM中所有旧的或新的元素。

jQuery live在某些版本中已被弃用。所以最好使用“on”。


它应用于DOM中所有旧的或新的元素。

您应该使用以下内容:

$('#myTable').on('click', '.hodnoceni', function(event) {
    event.preventDefault();
    ...  
});

这会将您的事件附加到#myTable元素中的任何单元格,从而减少检查整个文档元素树的范围并提高效率。

您应该使用以下内容:

$('#myTable').on('click', '.hodnoceni', function(event) {
    event.preventDefault();
    ...  
});

这将把您的事件附加到#myTable元素中的任何单元格,减少检查整个文档元素树的范围并提高效率。

从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。较旧版本的jQuery用户应优先使用.delegate(),而不是.live()
从jQuery 1.7开始,不推荐使用.live()方法。使用.on()附加事件处理程序。jQuery旧版本的用户应优先使用.delegate(),而不是.live()
类名u为每个有问题的值添加了增量u需要将变量i添加到类中以便将事件添加到动态创建的行/列中…类名u为每个有问题的值添加了增量u需要将变量i添加到类中以便将事件添加到动态创建的行/列。。。
$(document).on("click", "#myTable .hodnoceni", function() {
$("#myTable").on("click", ".hodnoceni", function() {
$("#myTable .hodnoceni").on('click', function() {
});
$('#myTable').on('click', '.hodnoceni', function(event) {
    event.preventDefault();
    ...  
});