请解释一下这个 jQuery
也许我的最后一个问题(现已删除)被误解了,所以这次我将更清晰地重新发布它:
jQuery(UI):
$("#tabs").tabs({
select: function(event, ui) {
alert(ui.panel.id);
$('input[name=myinput], textarea[name=myinput]').attr('disabled', true);
$('input[name=myinput].' + ui.panel.id + ', textarea[name=myinput].' + ui.panel.id).removeAttr('disabled');
$('input[name=source]').val(ui.panel.id);
}
});
HTML:
<div id='tabs'>
<ul>
<li><a href="#direct">Direct input</a></li>
<li><a href="#files">File upload</a></li>
<li><a href="#uri">URI</a></li>
</ul>
<div id="direct">
<textarea name='myinput' class='direct'></textarea>
</div>
<div id="file">
<input type='file' name='myinput' class='file' />
</div>
<div id="uri">
<input type='text' name='myinput' class='uri' />
</div>
</div>
<input type='hidden' name='source' value='direct' />
<input type='submit' value='GO' />
我不太明白 jQuery 对输入的作用。我想使用常规 jQuery 并避免使用“jQueryUI”选项卡,因此了解输入发生的情况很重要,当我使用常规 jQuery 时,我可以重现相同的效果。 希望我说得有道理。
感谢您的帮助!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
当调用
select
函数时:查找所有名为
myinput
的input
和textarea
元素并禁用它们。查找名称为
myinput
且与input
元素和textarea
元素>ui.panel.id 属性并启用它们。找到名为
source
的input
元素(或多个元素,但我打赌只有一个),并将其值设置为ui.panel.id 的值
属性。例如:禁用所有
myinput
input
和textarea
元素除了匹配的元素根据其类的ui.panel.id
属性,并将名为source
的input
的值设置为该属性,大概是为了跟踪启用了哪些输入/显示了哪些选项卡。When the
select
function is called:Find all
input
andtextarea
elements namedmyinput
and disable them.Find any
input
elements andtextarea
elements with the namemyinput
and the class that matches the value of theui.panel.id
property and enable them.Find the
input
element (or elements, but I bet there's only one) with the namesource
and set its value to the value of theui.panel.id
property.E.g.: Disable all of the
myinput
input
andtextarea
elements except the one matching theui.panel.id
property according to its class, and set the value of theinput
namedsource
to that property, presumably to keep track of which inputs are enabled / which tab is showing..tabs()
是一个 jQuery UI 插件,可以将标记转变为只是进入了选项卡式浏览界面。如果您愿意,您可以在 jQuery 中编写自己的tabs()
函数,但您可以轻松 下载自定义构建 jQuery UI。取消选择所有内容,然后选择选项卡(只需要 Core 和 Widget)...如果您已经替换了选项卡,TJ 会整理出一个可靠的答案来描述
select
事件处理程序正在执行的操作。每次您选择新的活动选项卡时都会触发它。.tabs()
is a jQuery UI plugin that turns the markup you just gave into a tabbed browsing interface. You could write your owntabs()
function in jQuery if you wished, but you could easily download a custom build of jQuery UI. Deselect everything, then select tabs (which only requires Core and Widget)...If you already have your tabs replacement, T.J. put together a solid answer describing what the
select
event handler is doing. It is fired every time you select a new active tab.您似乎错误地认为 jQuery UI 是 jQuery 的一个版本。事实上,它是一个 jQuery 插件。它相当重量级,重达数千字节。要在不使用 jquery ui 的情况下重现 jquery ui 选项卡代码将是一项巨大的工作。您向我们展示的代码只是调用 jquery ui 来创建选项卡,但选项卡插件在幕后做了大量的工作。您可能希望重新考虑一下放弃 jquery ui 的愿望。
You seem to be under the mistaken impression that jQuery UI is a version of jQuery. It is, in fact, a jQuery plugin. It's fairly heavyweight, weighing in at many kilobytes. To reproduce the jquery ui tab code without using jquery ui would be a significant effort. The code you've shown us is simply calling jquery ui to create the tabs, but the tab plugin is doing a massive amount of work behind the scenes. You may wish to rethink your desire to move away from jquery ui.