在媒体管理器中删除项目时的确认消息


8

删除媒体管理器中的项目时,我希望收到一条确认消息。现在,要删除图像,我只需要单击右上角的十字线,图像就消失了:如果我输入有误,那就太糟糕了!我调查了媒体管理器选项,但看不到任何东西,例如我想要的东西。

在删除项目之前,如何获得确认消息或弹出窗口要求进行确认?

非常感谢你的帮助!


我已使用有关在何处添加代码的说明更新了答案。我忘记了媒体文件是使用iframe显示的,还是使用component.php视图加载的。
johanpw

Answers:


8

您可以在管理模板中添加几行jQuery(或使用仅针对管理区域触发的插件添加jQuery):

jQuery("a.delete-item").on('click', function(e){
    if (confirm("Do you want to delete this image?") != true) {
        e.preventDefault();
    }
});

这将单击删除按钮,X并显示一个对话框。

编辑:
媒体文件使用Iframe显示,而Iframe又使用&tmpl=component参数加载。因此,必须将以上代码添加到文件中administrator\templates\YOURADMINTEMPLATE\component.php<script>标签内)。

那应该工作:)


感谢您的编辑,@Lodder,但是根据jQuery API,它.click()是的快捷方式.on( "click", handler )。在这种情况下有什么区别(以及“最佳实践”是什么)?
johanpw

2
.on()特定版本(不记得确切的版本)的jQuery开始,推荐的方法是进行事件绑定。它使用较少的内存,适用于动态方法。这当然不是强制性的,但现在绝对是首选方法。对于您编写的代码一样简单的代码,click()这很好,但是我想保留将来的内容,以防万一可能会添加任何内容... + 1 :)
Lodder 2014年

感谢@johanpw的回答!我已将您的代码添加到administrator \ templates \ isis \ js \ template.js,但它没有执行任何操作。我应该在管理模板的哪个文件中添加它?谢谢!
JinSnow 2014年

2
为了扩展Lodder的答案,on()方法使用委托事件。委派事件的主要好处是将添加到尚未添加到DOM的子元素中。使用$(document).on('click','a.delete-item',callbackFunction); 保证click事件即使在未添加到DOM的动态生成的内容上也会触发。对于AJAX繁重的网站非常有用。
Brian Bolli 2014年

感谢您的解释。总会有一些新东西要学习。
johanpw
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.