第一次双击后不起作用
double click is not working after 1st time
我有一个 MVC 站点,我有一个 html 表,双击一个单元格时它将进入编辑模式,第一次它工作,下次当我在同一单元格或任何其他单元格上加倍时,它不起作用,当我在任何地方单击时,然后如果我双击它工作正常。
我怀疑单击和双击之间存在一些冲突。
$('#TableOverride tr:gt(0)').each(function () {
$(this).find('td:eq(9)').dblclick(function () {
EditCell(this, 9);
});
});
更新 :在Chrome中测试,工作正常,没有任何问题,看起来像IE 11及更早版本的浏览器问题。
function EditCell(thisCell, colNum) {
var Id;
// if the table cell is not in edit mode
if ($(thisCell).find('input').length == 0) {
if (colNum == 4 && $(thisCell).parent().parent().parent()[0].id == 'OverrideTable') {
myBlk = $(thisCell).html();
$(thisCell).html('<input type="text" data-oldvalue="' + myBlk + '" />');
$(thisCell).find('input').val(myBlk);
$(thisCell).find('input').trigger('focus');
$(thisCell).find('input').keypress(function (e) {
if (e.which == 13) {
// If Enter key is pressed, update data.
myBlk = $(this).val();
if (myBlk == '') {
$('div.errorSummary').html('my block cannot be empty!');
$('div.errorSummary').show();
} else {
Loadmyblk(myBlk, this);
LeaseOverrideObj.GetLeaseOverride());
}
});
}
试试这个,它应该可以工作,添加自定义类,例如"EditableCell",以便在文档上的dblclick事件绑定中使用。
$('#TableOverride tr:gt(0)').each(
function () {
$(this).find('td:eq(9)').removeClass('EditableCell').addClass('EditableCell');
});
});
$(document).on('dblclick', '.EditableCell', function()
{ EditCell(this, 9);
});
请注意$(document).on
不应该在任何循环中调用,它应该只在document.ready
中调用一次。
Js 小提琴
更新了小提琴链接,以演示动态添加的事件
相关文章:
- 点击按钮输入不起作用
- 按钮字段确认点击不'不起作用
- 在IE8中不起作用的元素上触发单击事件
- JavaScript链接在点击时不起作用;函数在页面加载时工作
- 角度ng变化或ng点击选择can'不起作用
- 删除确认对话框在第一次单击时不起作用
- 链接上的IE10 jquery句柄单击事件不起作用
- 双击谷歌地图显示提示框不起作用
- 使用量角器双击在chrome中效果良好,但在firefox中不起作用
- 双击已添加的选择选项不起作用
- 双击被阻止,但阻止默认值不起作用
- jQuery 双击对表行不起作用
- JQuery 双击侦听器在选择 - IE 不起作用
- 响应式 jQuery 不起作用:单击宽度低于 768px 并将鼠标悬停在 768px 上方
- 第一次双击后不起作用
- 使用$(document)后jQuery函数不起作用.单击
- jQuery-点击(使用".on()")在动态创建的元素上;不起作用,只需双击即可.为什么
- Ajax对php的调用不起作用-单击按钮时没有响应
- 双击时,leaflet.js wms层缩放不起作用
- 双击事件在IE浏览器中不起作用的选项列表