1

在我们的 web 应用程序中,当我们上传一个文档时,最后会有一个删除图像,点击它就会删除上传的文档。问题是用户经常无意中点击图标,他们甚至不知道他们删除了一些东西。

onclick 事件的代码是

<input type="image" name="xxxxxgbcremove" id="xxxxxgbcremove" class="RemoveImage" src="..." alt="Delete" onclick="$find('xxxfieldIDxxx').removeValue(xxxx); ;" style="border-width:0px;Display:Block;">

我想在单击图像时插入一个确认()函数,用户可以选择是或否来继续或取消删除。问题是我无法控制上面的代码。但我确实有能力添加新脚本。

我试过取消绑定点击但没有用。

$(document).ready(function() {
$("[id$='remove']").unbind('click');
});

如何在应用程序附带的 onclick 事件中“插入”confirm()?理想情况下,应在用户在确认()框中做出决定之前暂时停止原始 onclick 事件,如果用户单击是,则继续执行原始删除过程。

谢谢!

4

2 回答 2

1

jQuery 不能禁用内联事件处理程序unbind(),您需要更改内联处理程序并添加您需要的任何代码:

$(document).ready(function() {
    var myOnclick = $("[id$='remove']").attr('onclick');
    $("[id$='remove']").attr('onclick', 'if (confirm("Continue")) ' + myOnclick);
});

请注意,您的选择器可能匹配多个元素,然后您需要迭代。

编辑:

或者如果有多个元素:

$(document).ready(function() {
  $("[id$='remove']").each(function(i, ele) {
     $(ele).attr('onclick', 'if (confirm("Continue")) ' + $(ele).attr('onclick');
  });
});
于 2013-04-02T14:28:36.030 回答
0

它有效吗?:

onclick="if (confirm('my message')) $find('xxxfieldIDxxx').removeValue(xxxx);"
于 2013-04-02T14:33:13.960 回答