jQuery,奇怪的焦点行为

发布于 2024-12-17 05:58:09 字数 1395 浏览 0 评论 0原文

my 2 tag forms

这是问题所在。我的页面中有多个标签表单。他们应该是独立的,但行为却很奇怪。如果我在第一个表单中写入或执行任何其他操作,然后在第二个表单的标签上按“X”,它不会注意到我正在处理不同的表单。我尝试更好地解释它:如果我在表单中工作时按 X,

$(this).attr('id') 

则返回正确的 id。如果我在处理其他表单时按 X,相同的代码将返回错误的 id。显然它返回我正在处理的表单的 id。

我认为问题与一些奇怪的焦点条件有关(键盘位于一个窗体上,而鼠标指针单击另一个窗体上)。我该怎么解决这个问题?

编辑:表单的html

 <form>

<input id="tagbox_infodisc_discussion_65" class="tag_field" object_type="infodisc_discussion" object_id="65" owner="Infodisc" owner_id="1" cancreatetag="1" canaddtag="1" canremovetag="1" value="['hi mom','efaefea']" $type="text" style="display: none; "><div id="tagbox_infodisc_discussion_65_tagsinput" class="tagsinput"><span class="tag"><span>hi mom&nbsp;&nbsp;</span><a href="#" title="Removing tag">x</a></span><span class="tag"><span>efaefea&nbsp;&nbsp;</span><a href="#" title="Removing tag">x</a></span><div id="tagbox_infodisc_discussion_65_addTag"><input id="tagbox_infodisc_discussion_65_tag" value="" data-default="" style="color: rgb(0, 0, 0); " class="ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"></div><div class="tags_clear"></div></div>

</form>

my 2 tag forms

Here is the problem. I have multiple tag forms in my page. They are supposed to be independent but there's a weird behaviour. If i write in the first form or do any other action and then i press the "X" on a tag of the second form, it doesn't noticed i'm working on a different form. I try to explain it better: if i press X while working in a form,

$(this).attr('id') 

return the correct id. The same code returns a wrong id if i press X while working on the other form. Obviously it returns the id of the form I'm working on.

I think the problem is related to some weird focus condition (the keyboard is on a form while the mouse pointer click in another form). How am i supposed to solve that?

EDIT: form's html

 <form>

<input id="tagbox_infodisc_discussion_65" class="tag_field" object_type="infodisc_discussion" object_id="65" owner="Infodisc" owner_id="1" cancreatetag="1" canaddtag="1" canremovetag="1" value="['hi mom','efaefea']" $type="text" style="display: none; "><div id="tagbox_infodisc_discussion_65_tagsinput" class="tagsinput"><span class="tag"><span>hi mom  </span><a href="#" title="Removing tag">x</a></span><span class="tag"><span>efaefea  </span><a href="#" title="Removing tag">x</a></span><div id="tagbox_infodisc_discussion_65_addTag"><input id="tagbox_infodisc_discussion_65_tag" value="" data-default="" style="color: rgb(0, 0, 0); " class="ui-autocomplete-input" autocomplete="off" role="textbox" aria-autocomplete="list" aria-haspopup="true"></div><div class="tags_clear"></div></div>

</form>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空‖城人不在 2024-12-24 05:58:09

试试这个:

$('input').live('click', function(){
  console.log($(this).prop('id'));
});

try this:

$('input').live('click', function(){
  console.log($(this).prop('id'));
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文