Jquery不会从jquery生成的控件触发 [英] Jquery is not firing from controls generated from jquery

查看:64
本文介绍了Jquery不会从jquery生成的控件触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个jQuery函数,可以在点击一些添加按钮时生成输入文本。

生成的代码如下:



< input type =textid =txtNumname =some model bindingclass =FireEvent/>





有一个jquery函数:

$(。FireEvent)。更改(

alert(called);

);



所有这些代码都在.Ready()函数仍然在文本更改时此事件未被触发。



i还试过$(。FireEvent)。bind(input,function(){});这也是行不通的。



但是如果我尝试从我视图中的控件中触发此事件,那么它的工作非常完美。

ie

@ Html.TextBox(name,,new {@class =FireEvent,@ id =someId});



< input type =textid =someIdname =some bindingclass =FireEvent/>

解决方案

(。FireEvent)。更改(

alert(called);

);



所有这些代码都在.Ready()函数仍然在文本更改时此事件未被触发。



i也试过

( FireEvent。 )结合( 输入,函数(){})。这也是行不通的。



但是如果我尝试从我视图中的控件中触发此事件,那么它的工作非常完美。

ie

@ Html.TextBox(name,,new {@class =FireEvent,@ id =someId});



< input type =textid =someIdname =some bindingclass =FireEvent/>


在创建事件时将事件附加到新元素,或使用将事件绑定到选择器的on方法



http://api.jquery.com/on/ [ ^ ]



on适用于首次运行代码后创建的元素,但请注意它有性能损失。


I have a jQuery function that generates input text on click of some add button.
generated code looks like:

<input type="text" id="txtNum" name="some model binding" class="FireEvent" />


there is a jquery function:
$(".FireEvent").change(
alert("called");
);

all this code is in .Ready() function still on text change this event is not triggered.

i have also tried $(".FireEvent").bind("input",function(){}); this is also not working.

However if i try to fire this event from controls that are in my view it works perfect.
i.e.
@Html.TextBox("name", "", new { @class = "FireEvent", @id = "someId" });
Or
<input type="text" id="someId" name="some binding" class="FireEvent" />

解决方案

(".FireEvent").change(
alert("called");
);

all this code is in .Ready() function still on text change this event is not triggered.

i have also tried


(".FireEvent").bind("input",function(){}); this is also not working.

However if i try to fire this event from controls that are in my view it works perfect.
i.e.
@Html.TextBox("name", "", new { @class = "FireEvent", @id = "someId" });
Or
<input type="text" id="someId" name="some binding" class="FireEvent" />


Either attach your events to the new elements when you create them, or use the "on" method of binding an event to a selector

http://api.jquery.com/on/[^]

"on" works for elements created after the code is first run, but note it has a performance penalty.


这篇关于Jquery不会从jquery生成的控件触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆