已知将代码重构为方法,然后使用 bind 进行绑定,但是老平台设计太多 JS 了,不可能每一个事件都去重构,还有其他的方法吗?
1
bsg1992 2018-10-24 16:46:49 +08:00
还是在用 webfrom 嘛
|
2
murolq 2018-10-24 16:59:16 +08:00
方法 1.
```js var $ele = $('<button id='upload' />'); $('#form').append($ele); $ele.on('click', doSomething); ``` 方法 2 ```js // file1.js $('#form').on('click', '#upload', doSomething) // file2.js var $ele = $('<button id='upload' />'); $('#form').append($ele); ``` |
3
a194259440 OP |
4
a194259440 OP 假如有 1 个按钮
<button id="btn1" class="btns">按钮</button> 在 ready 时,有 10 个不同的 JS 对他进行了绑定事件:代码如下 click.js $(".btns").click(function(){ .... }); hover.js $(".btns").hover(function(){ .... }); blur.js $(".btns").blur(function(){ .... }); ... 然后我根据需求,用 ajax 请求的数据,动态生成一个一样的按钮 <button id="btn2" class="btns">按钮</button> 除了类似于这样的: $(".btns").bind("click",bindclick); function bindclick(){ .... } 还有什么其他的方法吗?能不能获取到 id=btn1 的所有绑定事件,然后赋给 btn2? |
5
TomatoYuyuko 2018-10-24 18:26:07 +08:00
试试 jquery 的 clone()
|
6
Pastsong 2018-10-24 18:28:14 +08:00 1
event delegate
|
7
TomatoYuyuko 2018-10-24 18:29:09 +08:00 1
var $newBtn = $(".btns").clone(true)
|