jQuery
セレクタをある関数から別の関数に渡すにはどうすればよいですか? ある関数から別の関数に変数を渡すように機能しますか?関数から別の関数へのjQueryセレクタ
すなわち:
function hasSelector(){
var items = $('#item1, #item2, #item3');
return items;
}
function useSelector(){
//var items = $('#item1, #item2, #item3');
//items.on('click'...);
hasSelector().on('click', function(){
alert(items);
)};
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
編集:私はobject
にhasSelector()
を変更することを決めましたコメントにいくつかの明確化におかげで(私は言及を忘れてしまったパラメータaswellに合格しなければなりませんでしたそれでも私はまだ関数を使用しています。)
var hasSelector = {
items : function(){
return $('#item1, #item2, #item3');
}
}
function useSelector(){
hasSelector.items().on('click', function(){
alert(hasSelector.items(this));
});
}
useSelector();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="item1">Item 1</div>
<div id="item2">Item 2</div>
<div id="item3">Item 3</div>
//returning [obj Obj] since I'm calling on all 3 items at once.
セレクタではなくjQueryオブジェクトを返しています。自然に渡したり返すのは、他の言語と同じように機能します。 'click 'の後ろに閉じた' ''がありません。 –
欠落している見積もりを修正しました。この問題を引き起こした問題がありますか? 'items'変数が魔法のようにコールサイトに現れることを期待していましたか?本当にクリックしたアイテムへの参照を取得しようとしていますか? *実際の問題は何ですか? –
アイテムがクリックで定義されていません。 – epascarello