我有这些动态添加到 html 表中的图标。其中之一是垃圾桶。当它被点击时,该行应该被删除。
在开发过程中,我在 Firefox、Chrome 和 IE 中对其进行了测试,一切都像魅力一样。但是现在有一个 Safari 用户注意到在 Safari 中根本没有触发点击。我下载并安装了最新版本的 Safari for Windows 来检查自己,单击垃圾桶图标时确实没有任何反应。
奇怪的是,该页面在 Safari 中完美运行的其他元素上有更多的点击事件。
它们都使用 .on() 和 .off()。(有些只是 .click() )。
我的代码:
/**
* Delete row from html table
*/
$(document).on('click', '.deleteRow', function() {
$('#row_' + $(this).attr('id').substr(4)).remove();
});
如您所见,jQuery 代码并不复杂。有谁知道为什么它在 Firefox、Chrome 和 IE 中有效,而在 Safari 中无效?
编辑:此外,我注意到 Safari 中的另一个奇怪行为。在 CSS 中,我将光标设为指针。再次,除 Safari 之外的所有浏览器都正确添加了 CSS 规则。具有类 .deleteRow 的标签是一个<i>
标签..
编辑:
html = '<tr class="rowDomain" id="row_'+domain+'_'+ext+'">';
html += '<td class="get"><input type="hidden" name="hdnDomains[]" value="'+domain+'_'+ext+'_'+a+'_'+term+'_'+data.price+'" />'+domain+'.'+ext+' '+stars+'</td>';
html += '<td class="'+a+'">'+b+'</td>';
html += '<td>'+term+' jaar</td><td>€ '+(parseFloat(data.price).toFixed(2)).toString().replace('.',',')+'</td>';
html += '<td><i class="deleteRow icon-trash" id="btn_'+domain+'_'+ext+'" title="Verwijder domein uit selectie."></i></td>';
html += '</tr>';
$('#tblDomains').append(html);
<table>
以上是每次用户单击按钮时添加到我的 HTML 。该图标位于最后一个<td>
标签中。