jQueryセレクターで関数を呼び出せるようにしようとしています。
私のページでやっていることは次のとおりです。
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>first</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="../myplugin.js"></script>
</head>
<body>
<div class="foo"></div>
<script type="text/javascript">
// my custom function
$(".foo").addGadget({ "src":"gadgets/menu.html", "param":{"filter":"office"}},
function (error, response) {
console.log("hello!!!");
});
</script>
</body>
</html>
だから私は自分のカスタム関数を呼び出すことができるようにしaddGadget()
たい$('foo')
. これは問題なく動作します:
(function (window, jquery, undefined) {
var that = {};
that.addGadget = $.fn.addGadget = function (options, callback) {
console.log("I'd like to access my element here");
console.log(this);
console.log($(this));
};
return window.myPlugin = that;
}(window, $));
だから私は両方を呼び出すことができます
myPlugin.addGadget();
$('.foo').addGadget();
foo
問題は、メソッド内にアクセスできないことです。
質問: myメソッド内
にアクセスできるようにするには、何を変更する必要がありますか?foo
addGadget
ありがとう!