当点击触发图像时,我已经用一个漂亮的小弹出窗口替换了传统的选择/选项表单元素。该页面用于会计目的,因此预计会有多个行项目。我编写了将动态生成新订单项选择/选项元素的 javascript。当页面加载时,会加载初始选项集,用户可以单击它们,弹出一些选项,选择一个,然后框关闭。移动到下一个选择,依此类推。我已经在我的代码中为这些动态元素添加了 livequery。但是... livequery("click"...) 似乎无论用户单击页面的哪个位置都会触发。非常令人沮丧。
我在这里读到了 jQuery 1.3 中的“live()”有多棒,但我无法完全升级到 jquery 1.3,因为自定义 JS 文件依赖于 1.2,所以使用 live() 是不可能的,但是我已经调用了 livequery() 插件,我真的需要了解我是否正确使用它。
我将发布部分代码。发布所有内容的方式太多了。
基本上,我正在搜索以“bubble”开头的 div,然后是一个数字。然后在每个人身上运行事件。只有bubble1是静态的,2及以上是动态的。我错过了 livequery 的全部用法吗?
>$jb('div[id^="bubble"]').each(function () {
> var divid = $jb('div[id^="bubble"]').filter(":first").attr("id");
>var pref = "bubble";
>var i = divid.substring((pref.length));
>var trigger = $jb('#trigger' + i, this);
>var popup = $jb('#pop'+ i, this).css('opacity', 0);
>var selectedoption = $jb('selectedOption' + i, this);
>var selectedtext = $jb('selectedOptionText' + i, this);
>$jb([trigger.get(0), popup.get(0)]).livequery("click",
> function () {
>//alert(i);
// code removed for brevity (just the contents of the popups)
>});