1

私はtagit(http://webspirited.com/tagit/)を使用していて、これまでのところ本当に気に入っています。克服すべき問題が1つあります。タグのキーワードを入力し始めたら、気が変わってページの他の場所をクリックすると(入力がフォーカスを失います)、タグが追加されます。私はこれが起こらないようにしたい。トリガーキーが選択されている場合にのみタグを追加したいのですが、私の場合はコンマです。それ以外の場合、最後のタグ(おそらく部分的なテキスト)は、コンマが追加されるまでそこに配置する必要があります。

これは私がこれまでに持っているコードです。かなり基本的な実装ですが、上記のシナリオを防ぐ方法がわかりません。

 $('#thename').tagit({
      tagSource:, 
      select:true,
      tagsChanged:function (a, b) {
         if(b=='added' || b=='popped'){
            submitForm();
         }
       },
      triggerKeys:new Array('comma')
   });
4

1 に答える 1

2

これを少しハックして、どうなるか見てみましょう。フォーカスアウトにタグを追加しないAPIのどこにも見つからなかったので、次の解決策は次のことを行うことでした。

-タグ
を入力します-入力をクリックします(タグが追加されます)
-プログラムでテキスト入力を取得し、タグを削除します

次のコードでこれを試みました:

$("#thename").focusout(function() {
    //Get the input text
    var tagText = $(this).val();

    //Verify input is NOT empty

    //Remove the tag that was just added
    $("#thename").tagit('removeTag', tagText);

});

これがどのように機能するか教えてください。

編集:

そこにあなたのコメントに気づきました。新しいタグを許可したくない場合は、

allowNewTags: false,

元のコードのtagitマークアップに。

于 2013-03-15T21:45:53.900 に答える