在编辑器屏幕上添加编辑插件/固定链接按钮的警告。

时间:2016-12-21 作者:Snake

我希望用户在单击按钮更改永久链接时得到一个警告弹出窗口。如果他们想继续,他们将给予确认。

以下是我的想法:

//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上的其他按钮,如发布、更新等。

我也只能在页面加载后生成一次弹出窗口,如果我选择一个答案并再次单击编辑,我将不会收到任何弹出窗口。

1 个回复
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();
    });
});
希望这有帮助。

相关推荐

为什么我的可过滤公文包页面在Slug按钮和Slug输出WORDRPESS之间不能完美地工作?

我目前在Wordpress中有一个公文包自定义页面,可以根据需要工作,但我有一个问题。问题是,当我单击其中一个slug按钮时,主体/输出不是我想要的那样工作,例如在slug IOS中有3个项目,当我单击IOS slug中的“显示3个项目”时,应该是这样,但在这只显示1个项目。我读过很多类似于这个问题的教程,但都没有解决,请有人帮帮我,我一直在尝试解决这个问题,但仍然没有成功。以下是我读过的一篇文章:https://danny.care/a-responsive-filterable-portfolio-t