Jquery plugins 创建JQuery插件
我已经按照教程创建了一个网站菜单,这涉及JQuery来提供一些转换 我已经让它按预期工作,但是为了证明我理解这个新代码和框架,并且为了遵循开发指南,我想将菜单代码转移到插件 工作(非插件)版本: 它与UL标签ID=main菜单一起出现在.ascx中Jquery plugins 创建JQuery插件,jquery-plugins,Jquery Plugins,我已经按照教程创建了一个网站菜单,这涉及JQuery来提供一些转换 我已经让它按预期工作,但是为了证明我理解这个新代码和框架,并且为了遵循开发指南,我想将菜单代码转移到插件 工作(非插件)版本: 它与UL标签ID=main菜单一起出现在.ascx中 <script type="text/javascript"> NavBarMenu(); </script> 不工作版本: 现在创建了插件代码,NavBarMenu函数从.ascx调用如下: <script
<script type="text/javascript">
NavBarMenu();
</script>
不工作版本:
现在创建了插件代码,NavBarMenu函数从.ascx调用如下:
<script type="text/javascript">
$("#MainMenu").NavBarMenu();
</script>
但是,$menu\u items变量是否未填充
这个(第二个示例)不应该等同于$(“#主菜单”)(第一个示例)
我遵循了这个示例,其中为this指针切换了JQuery选择器
提前感谢:D一定还有其他因素影响我的实施,我会重新考虑 作为调查的一部分,我已经创建了2个JSFIDLE页面,并且已经证明JQuery选择器可以在插件中替换为this指针 小提琴细节第一个例子: 相当于 小提琴细节第二个例子:
<script type="text/javascript">
$("#MainMenu").NavBarMenu();
</script>
(function($) {
$.fn.NavBarMenu = function() {
var $menu_items = this.children('li');
$('input[type=button]').click( function() {
$( "div" ).css( "background", "green" );
});
$.fn.greenify = function() {
this.css( "background", "green" );
};
$('input[type=button]').click( function() {
$( "div" ).greenify();
});