我希望用户在单击按钮更改永久链接时得到一个警告弹出窗口。如果他们想继续,他们将给予确认。
以下是我的想法:
//Setting a variable for the button Class.
var editSlug = document.getElementsByClassName("edit-slug");
//Detecting when the button is clicked.
editSlug[0].addEventListener ( "click", function() {
//Returning the value of the popup.
return confirm(\'Warning: Don\'t do this unless you have to.\');
});
我遇到的问题是,即使单击“取消”,它仍然允许我编辑帖子的链接。如果我选择cancel,它应该返回一个假值并取消单击edit按钮的事件。这适用于WP上的其他按钮,如发布、更新等。
我也只能在页面加载后生成一次弹出窗口,如果我选择一个答案并再次单击编辑,我将不会收到任何弹出窗口。
SO网友:Ismail
WordPress已经将jQuery事件挂接到了可以忽略的按钮上off()
方法,或者保持简单,在该按钮上方添加一个覆盖层并充当按钮,提示用户首先确认编辑操作:
jQuery(document).ready(function($){
var c = $(\'#edit-slug-buttons\')
, b = $(\'button\',c).first();
c.css({
position: \'relative\'
}).append(\'<span class="se-overlay" style=" position: absolute; top: 0; left: 0; width: 100%; height: 100%; padding: 4px 0; margin-top: -3px; cursor: pointer"></span>\');
$(document).on("click", "#edit-slug-buttons .se-overlay", function(e){
if ( confirm("Warning: Don\'t do this unless you have to.") ) {
$(this).closest(\'#edit-slug-buttons\').children(\'button\').first().trigger(\'click\');
}
return e.preventDefault();
});
});
希望这有帮助。