为了账号安全,请及时绑定邮箱和手机立即绑定

为什么data不可以为纯字符串?

如题,$("#test3").on("click","测试data",function(event){

    alert(event.data)

})

结果点击无效


正在回答

5 回答

  1. on()方法里的数据参数有两个作用:一个是填写选择器名称起过滤作用:此时的数据类型是字符串:$("div").on("click","#test3",function(){});   此时"#test3"字符串就是起到过滤出所有div对象里真正具有点击事件方法的id为test3的那一个div  ,就不是一个数据字符串了。

  2. 第二个作用就是解析不同作用域中的数据,此时数据类型是除去字符串以外的其他的数据类型,如123数字类型,null空数据类型,[ ]数组类型 ,{ }json对象类型,还有空着不填的undefined类型。

0 回复 有任何疑惑可以回复我~

$("#test3").on("click",["测试data"],function(event){

    alert(event.data)

})

0 回复 有任何疑惑可以回复我~

如果data参数提供给.on()并且不是null 或者 undefined,那么每次触发事件时,通过event.data传递给处理程序。data参数可以是任何类型,但如果是字符串类型时,那么selector参数必须提供,或显式地传递null,这样的 话,data 参数不会被误认为是选择器。最好是使用一个对象(键值对) 以致于可以作为属性传递多个值。

$("#test3").on("click",null,"测试data",function(event){

    alert(event.data)

})

2 回复 有任何疑惑可以回复我~
#1

yelllowsky

说的很详细,这个selector不是jquery 的一个属性吗?你说的selector参数是不是就是选择器? 如$p=$('.div p'); document.writeln($p.selector); // .div p
2017-07-04 回复 有任何疑惑可以回复我~
#2

Robert_Langdon 回复 yelllowsky

这个selector是个选择器,用于过滤出被选中的元素中能触发事件的后代元素。
2017-07-05 回复 有任何疑惑可以回复我~
#3

yelllowsky 回复 Robert_Langdon

嗯,能帮我举一个$("#test3").on("click",null,"测试data",function(event){ alert(event.data) }) 添加的有选择器的例子吗(不是null的)?这个添加选择器不是太理解怎么用
2017-07-06 回复 有任何疑惑可以回复我~
#4

Robert_Langdon 回复 yelllowsky

<div class="left"> <p> aaa</p> <p> bbb</p> <p> ccc</p> </div> <script type="text/javascript"> $('.left').on('click','p',{name:'new'},function(e){ alert(e.data.name + $(this).html()) }) </script>
2017-07-08 回复 有任何疑惑可以回复我~
#5

yelllowsky

谢谢了
2017-07-08 回复 有任何疑惑可以回复我~
查看2条回复

如题求解

0 回复 有任何疑惑可以回复我~
$("#test3").on("click",function(event){ 
   alert(event.data);
});
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么data不可以为纯字符串?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信