Bri*_*unt 2 javascript jquery events
我正在尝试确定表单中任何一组命名输入/选择/无线电/选中/隐藏字段何时更改.
特别是,我想捕获何时对匹配jQuery选择器的字段进行任何更改$("form :input"),以及该输入具有name属性的位置.但是,表单不是静态的,即某些字段稍后会动态添加.
我最初的想法是跟踪:input添加新命名元素匹配 的时间,然后添加一个事件处理程序,如下所示:
function on_change() {
alert("The form element with name " + $(this).attr("name") + " has changed");
}
function reg_new_e_handler(input_element) {
input_element.change(on_change);
}
Run Code Online (Sandbox Code Playgroud)
但是,我很有希望能用一些jQuery魔法来避免这种情况.特别是,有没有办法在jQuery中注册一个事件处理程序,它将处理与以下内容匹配的输入元素:
$("form :input").filter( function () { $(this).attr("name") } ).change(on_change);
Run Code Online (Sandbox Code Playgroud)
但是,只要添加新的输入元素,就会更新此事件.
我认为有可能keyup在form节点上捕获事件$("form").keyup(on_change),但我不确定如何捕获change事件.
我也喜欢这个来捕捉keyup事件.
谢谢你的阅读.
布赖恩
你正在寻找live活动.
例如:
$(':input[name="something"]'.live('change', function(e) {
//Do things
});
Run Code Online (Sandbox Code Playgroud)
添加事件处理程序.live将处理与选择器匹配的所有元素的事件,无论它们何时添加.
| 归档时间: |
|
| 查看次数: |
3073 次 |
| 最近记录: |