我正在尝试为jquery实现这个内联删除确认插件。以下是示例代码:
//sample code taken from plugin on GitHub:
//https://github.com/fredwu/jquery-inline-confirmation
$("a.delete").inlineConfirmation({
confirm: "<a href='#' class='confirm-yes'>Yes</a>",
cancel: "<a href='#' class='confirm-no'>No</a>",
separator: " | ",
reverse: true,
bindsOnEvent: "hover",
confirmCallback: function(action) {
action.parent().fadeIn();
}
});
将其附加到任何选择器将显示删除或取消按钮,但我需要在单击时显示此选项。
所以我原来的代码就是这样:
jQuery( document ).ready( function( $ ) {
$( '#mytable button').click( function( event ) {
event.preventDefault();
if ( ! confirm( 'Are you sure you want to continue' ) )
return;
var $button = $(this);
var nonce = $( this ).attr('data-nonce');
var rowID = $( this ).attr('value');
var file = $( this ).attr('file');
var data = { }
$.post(
ajaxurl,
data,
function ( response ) { });
});
});
该插件允许'confirmCallback',我需要在确认点击后执行我的代码,而不是像目前那样立即执行。我还在学习jQuery,所以这可能是一个简单的问题。只需要知道如何自定义这样的东西:
jQuery( document ).ready( function( $ ) {
$( '#mytable button').click( function( event ) {
$(this).inlineConfirmation({
confirmCallback: (?? WHAT DO I PUT HERE??)
});
如果确认则运行我的代码(这将是confirmCallback。我该怎么做? .post ...等...
答案 0 :(得分:1)
将其附加到任何选择器将显示删除或取消按钮,但我需要在单击时显示此选项。
改变这个:
bindsOnEvent: "hover",
对此:(虽然文档说明这是默认的)
bindsOnEvent: "click",
并添加一个回调函数,如下所示:
confirmCallback: function (a) {
// write your code here.
}
总而言之:
jQuery(document).ready(function($) {
$('#mytable button').inlineConfirmation({
bindsOnEvent: "click",
confirmCallback: function($button) {
var nonce = $button.attr('data-nonce');
var rowID = $button.attr('value');
var file = $button.attr('file');
var data = {};
$.post(
ajaxurl,
data,
function ( response ) { }
);
}
});
});