私は選択可能なオブジェクトの膨大なセットを持っています。
それらをクリックすると、それらのIDがフォームに追加され、選択を解除すると、フォームから再び削除されます。
動作するバージョンがありましたが、クリックが速すぎるとIDが複数回追加されることがあることに気付くまでです。
これを禁止するために、リスト項目にクラスを追加して、処理として分類されるようにしました。
私の質問:
クラスを追加するためにクリックされたDOM要素へのポインタを取得するにはどうすればよいですか?
「選択された」すべてを実行するために機能するものですが、他の問題が発生します。
$( ".ui-selected", this ).each(function() {
if($(this).hasClass('processing'))
return;
$(this).addClass('processing');
});
私が今持っているもの-イベントを発生させる要素だけを取得するために...間違っています:
$(".selectgroup").bind("mousedown", function(e) {
e.metaKey = true;
}).selectable( {filter: "li"},
{
stop: function(){
// Add to Form
$( ".ui-selected", this ).each(function() {
if($(this).hasClass('processing'))
return;
$(this).addClass('processing');
var itemid = $(this).attr("value");
var formhtml ='<input type="hidden" name="tags[]" id="id'+itemid+'" value="'+itemid+'">';
$("#tagform").append(formhtml);
});
},
{
unselected: function( event, ui ) {
itemid = "#id" + ui.unselected.value;
$('').removeClass('processing');
alert(itemid);
$(itemid).remove();
}
}.................................
jqueryに適合している人にとって、これは非常に簡単に解決できるはずです。