“keydown事件触发在文字还没敲进文本框,这时如果在keydown事件中输出文本框中的文本,得到的是触发键盘事件前的文本”
因为监听的是已经显示在输入框中的,按下5的时候前面只有1234,同理第一个按下的时候原本是没有的
好像是系统缓存,第二次打开,发现无任何反应
因为第三个div中的textarea 中的class设置成了target2;
正确的<div class="aaron3">textarea:
<textarea class="target3" rows="3" cols="20">多行的文本输入控件</textarea>
</div>
function say(){
alert('再次调用成功');
}
$('#yjh2').click(say)
小白的理解,供参考,欢迎交流
bottonName是形参,从function(event,bottonName) 传递到 update($("span:first"), $("span:last"), bottonName);
<script type="text/javascript">
$(document).keydown(function (e) {
// 处理组合键
if (e.ctrlKey && e.which == 13) {
alert("crtl+enter");
return false;
}
//处理功能键
if (e.keyCode == 112)
{
alert("F1");
return false;
}
// 处理组合功能键
if(e.ctrlKey && e.which == 68)
{
alert("ctrl+d 禁止收藏");
return false;
}
// 处理普通键
alert(e.key);
});
</script>
因为这是jq给你包装好的 你按照他的写法做就行了
写成data()就相当于直接调用这个方法了 这里只是把方法的引用传递给jq的click方法 jq会在你触发click点击事件时去调用这个data方法 jq还帮你封装了一个e变量 然后再设置你传递的值e.data=1111 最后调用data方法并把e传进去data(e)
刚看了别人一个问题后有了启发
第二参数并不是委托给它
例如老头子body开了个公司,如果没有第二参数,那全公司所有人都可以调用财务
如果有第二参数a,
当a是最底层员工时,即没有子元素,那么全公司只有a可以调用财务
当a是非底层员工时,即a有后代或子元素,那么全公司只要是a或a的后代都可以调用财务
冒泡是从内往外冒泡,a在最里面的时候只有a可以触发事件,a如果在中间,那么从最里面一直冒泡冒到a,这些后代都可以触发
这个教程中e是element的简写
意思是这个元素
即你理解的引起事件的对象
可以是e,也可以是a,也可以是b,也可以是xiaoming
只是这个写教程的人喜欢用e
eq,的0是索引第0个元素,这个0是常数,可以变化,比如
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
eq(0)会索引到第一个<li>
eq(3)索引第三个<li>
0可以是变量
比如a=4
eq(a)=eq(4)
focus为原生事件,默认执行,传参接收不了,改变任意名字,就可以传入参数内容到input框中
触发事件的类型哇
1、定义:target属性返回的是触发该事件的元素。
2、用法:event.target
3、作用:就是获取当前会触发该事件的元素对象,如练习中的
$("input").select(function(e){
alert(e.target.value)
})
当前触发select事件的元素是input,故这里的e.target指的是input。而这里的e指代的是event对象,代表事件的状态。
+1。
冒泡的本质是继承,为什么很多人都是从下往上的去理解呢? 因为是继承,所以ul绑定事件后,该事件也被绑定在了它的子孙元素上,所以你点击任何一个它的子孙元素都会触发事件。如果这个子孙元素本身也绑定了一个一样的事件,那么就会触发两次该事件。
假设一下,a-b-c a是祖先 c是子孙 ;将a,b,c同时绑定click,那么根据继承的原理,a只绑定了一个click事件,b两个,c三个;同理,如果只有a绑定事件,b,c也只绑定了一次事件。
好像是点了回车键中文就输入下去了
function handerIn(){
}
function handlerOut(){
}
$(selector).hover(handlerIn, handlerOut)
调用函数
function a() {
$("button:eq(2)").click(1111, function(e){
alert(e.data);
});
}
测试一on前面缺失了一个.;没发现吗?
$("#test1").on('click', function(e) {
$(this).text('触发事件:' + e.type);
})
??????字字字
哈哈哈,笑死我了...
不加e这个参数用this不是一样的吗??
data(e)里的data是函数名,e是参数,e.data中的e还是那个参数,data是e的一个属性。
可以理解成function fn(e){
alert(e.data);
}
因为textContent是Dom对象,text()是jQuery方法
可以使用$(e.target).text()
keydown事件触发在文字还没敲进文本框,这时如果在keydown事件中输出文本框中的文本,得到的是触发键盘事件前的文本,就是当你按下键盘时先触发keydown,再显示字母
点击第二个按钮,执行函数
function() {
$('p').mousedown() //指定触发绑定的事件
}
在这函数里,调用了 $('p').mousedown() 函数,
然后执行函数
$('p').mousedown(function(e) {
alert(e.target.textContent)
})