脚本更改/停止执行脚本的方式

时间:2011-06-28 17:23:18

标签: jquery jquery-plugins jquery-selectors

我有以下表单示例:LIVE DEMO

它在jNice(完整脚本)上运行:uncompressed versiuon

在我正在进行的项目中 - 我只需要它的部分功能 - 在其他部分是没有用的。

通过将'class =“jNIce”添加到表单元素来调用脚本。

我正在寻找:

  • 将其“起始点”更改为div元素(不是形式)
  • 或停止执行某些部分的方法

我可以从哪里开始建议?任何帮助非常感谢。

皮特

2 个答案:

答案 0 :(得分:1)

签出这些插件后,我发现这个插件的源代码中有简单的解释。所以我测试了几分钟,找到了你的问题的答案。

首先,您想要将其起点从<form>更改为<div>或其他内容。打开jNIce插件代码(.js)并滚动到文件末尾然后更改此行:

/* Automatically apply to any forms with class jNice */ $(function(){$('form.jNice').jNice(); });

为:

/* Automatically apply to any forms with class jNice */ $(function(){$('div.jNice').jNice(); });

在html的body中,只需移除class="jNice"<div>form元素inputselect,{{1}的地点button等等...)本身。插件会自动将其更改为其样式。

其次,你说你想要阻止某些部分执行他们的更改。转到jNice插件中的第27行,然后您将看到:

$('input:submit, input:reset, input:button', this).each(ButtonAdd); $('button').focus(function(){ $(this).addClass('jNiceFocus')}).blur(function(){ $(this).removeClass('jNiceFocus')}); $('input:text:visible, input:password', this).each(TextAdd); /* If this is safari we need to add an extra class */ if (safari){$('.jNiceInputWrapper').each(function(){$(this).addClass('jNiceSafari').find('input').css('width', $(this).width()+11);});} $('input:checkbox', this).each(CheckAdd); $('input:radio', this).each(RadioAdd); $('select', this).each(function(index){ SelectAdd(this, index); });

如果您希望jNice停止更改您不喜欢的form元素,只需添加评论\\或删除其行。例如,我不想要它的select框样式,我把评论放在:

\\$('select', this).each(function(index){ SelectAdd(this, index); });

希望你发现这很有用:)

答案 1 :(得分:0)

找到改变jNice脚本调用的方法:

在最后一行之前我们有:

$(function(){$('form.jNice').jNice();   });

如果我们将其更改为(form - &gt; div(或我们想要的任何东西))

$(function(){$('div.jNice').jNice();    });

这样我们可以根据需要调用jNice(元素包装器或它自己的元素)。

注册