2011-11-20 88 views
0

my 2 tag formsjQuery,奇怪的焦点行为

这是问题所在。我的页面中有多个标签表单。他们应该是独立的,但有一个奇怪的行为。如果我以第一种形式编写或做任何其他动作,然后在第二种形式的标签上按下“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> 
+0

只是为了澄清......在你从你点击一个不同形式的工作情况,它总是返回FormA,或者它总是返回另一个表单(在FormA中工作时为FormB,FormB中工作时为FormA)? – nachito

+0

请张贴一些代码! –

+0

@nachito它返回我正在处理的表单。在这个例子中,如果我刚刚写了标签“标签2”,然后我按“嗨妈妈”,它将返回包含“标签2”的表单的ID。正确的id是包含“你好妈妈”的表单的id,因为这是我应该考虑删除标签的id。 – Chobeat

回答

1

试试这个:

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

实际上,它可能是'#id'或'.class' – ThiefMaster

+0

它返回“undefined”。我用$('input')而不是表单,因为id在输入中。我要用这个表单的html编辑第一篇文章。 – Chobeat

+0

@Chobeat请尝试此代码 – thecodeparadox