ユーザーが脚注を追加できる redactor.js のプラグインを開発しています。最終的に脚注はデータベースの別のテーブルに書き込まれますが、現時点ではこれはモックアップにすぎません。これは、より大きな大学プロジェクトの一部であり、この段階で機能しているように見えるだけで十分です。ちなみに私はJS初心者です。
コールバックを使用して関数を実行するカスタム ボタンをエディタに追加しました。ご覧のとおり、ボタンが押されるたびに fnCount 変数が 0 にリセットされます。最後の値を取得してインクリメントする方法がわかりません。ここで同様の問題がいくつか見られましたが、リダクター API を使用してこれを行っているため、どれもまったく同じではありませんでした。
ここに私のコードがあります:
// Insert footnote plugin
insertFootnote = function(){
var fnCount = 0
var fnAnchor = '<a href="#fn-' + ++fnCount + '"><sup>' + fnCount + '</sup></a> '
$('.edit').execCommand('inserthtml', fnAnchor);
}
// Initialise editor
$(document).ready(
function()
{
$('.edit').redactor({
focus: true,
buttonsAdd: ['|', 'footnote', 'reference'],
buttonsCustom: {
footnote: {
title: 'Insert footnote',
callback: insertFootnote
},
}
});
}
);
ここに例を貼り付けました: http://fclty.org/redactor/黒いボタンは、役に立たない脚注を追加するボタンです。白いボタンは無関係ですが、同様に役に立たない機能であるため、無視できます。
私は今、どこにも行かないアンカーを挿入しているだけだと気づきましたが、一歩ずつですよね?;-)