首页 新闻 会员 周边 捐助

jQuery 怎么动态触发事件??

0
[已解决问题] 解决于 2014-05-27 16:15

jQuery能根据名称(var name =‘事件名’) 动态触发这个事件(append html preappend 这三个)吗?

我想根据 append html preappend  动态的选择一个事件添加某数据

koi的主页 koi | 初学一级 | 园豆:4
提问于:2014-02-22 15:28
< >
分享
最佳答案
0

var fnName="html";
var htmlContent=$("#tt")[fnName]();

 

这样就可以了

奖励园豆:5
junjieok | 小虾三级 |园豆:779 | 2014-03-05 15:28
其他回答(4)
0

name=function(){

$('#id').append("......");

}

 

类似这样子自己定义事件,是这个意思吗

雾里小梅花 | 园豆:137 (初学一级) | 2014-02-22 15:32

不是  比如传入一个字符串 “html”  我就能执行 $("#dv").html()方法

传入一个字符串 “append”  我就能执行 $("#dv").append()方法

我不想用if else来判断 

 

支持(0) 反对(0) koi | 园豆:4 (初学一级) | 2014-02-22 15:37

@koi: 我觉得到头来还是要判断,这样的函数应该要自己写

支持(0) 反对(0) 雾里小梅花 | 园豆:137 (初学一级) | 2014-02-22 15:43

@雾里小梅花: 

<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("p").bind('click dblclick mouseover mouseout',function(event){
$("div").html("事件:" + event.type);
});
});
</script>
</head>

<body>
<p>该段落定义了 click、double-click、mouseover 以及 mouseout 事件。如果您触发了其中的一个事件,下面的 div 中会显示出事件的类型。</p>
<div></div>
</body>
</html>

支持(0) 反对(0) 雾里小梅花 | 园豆:137 (初学一级) | 2014-02-22 21:54
0

利用eval函数应该可以实现

空明流光 | 园豆:111 (初学一级) | 2014-02-22 15:35
0

$("父级元素").delegate("需要绑定事件的元素", "事件", function () {
  //操作
});

祁临芯 | 园豆:251 (菜鸟二级) | 2014-02-25 17:25
1

假设页面有id为container的节点

<div id="container"></div>

步骤一:

现在绑定html、preappend、append三个事件,注意只要通过evt.type来获取事件的类型就ok了,剩下要执行什么代码都随便自己

$('#container').on('html append preappend', function(evt){
    switch(evt.type){
        case 'html':
            // 执行代码
            breadk;
        case 'append':
            // 执行代码
            breadk;
        case 'preappend':
            // 执行代码
            breadk;    
        default:
            // 执行代码
            breadk;    
    }
});

步骤二:触发事件

接着手动触发事件就好了,触发的事件类型随便改

var eventType = 'html';  // 随便替换
$('#container').trigger(eventType);
程序猿小卡 | 园豆:386 (菜鸟二级) | 2014-03-16 13:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册