-
textarea change事件 在失去焦点时触发查看全部
-
经过简单的实验,觉得e.target是实际的触发事件的元素,而this是给哪个元素绑定了事件,结合这个例子 e.target是li,this是ul,个人见解 <script type="text/javascript"> //多事件绑定一 $("ul").on('click',function(e){ alert('触发的元素是内容是: ' + e.target.textContent) $(e.target).css('color','red') // $(this).css('color','red') }) </script> 这个委托的意思就是减少事件绑定, $("li").on('click' 为每个li都绑定click事件 $("ul").on('click' 只为ul绑定click事件 通过事件冒泡来执行事件 网页优化的一种查看全部
-
绑定2个事件 $("elem").on("mousedown mouseup",fn) 删除一个事件 $("elem").off("mousedown") 删除所有事件 $("elem").off("mousedown mouseup") 快捷方式删除所有事件,这里不需要传递事件名了,节点上绑定的所有事件讲全部销毁 $("elem").off() 如果按原来的代码:第一个script结构体加载的时候只有一个button,所以第一个script里面的事件绑定只给了第一个button;第二个script结构体加载的时候已经有了两个button,所以第二个script结构体里面的事件绑定给了两个button;因此第一个button绑定了两个click事件,第二个button只绑定了一个click事件;查看全部
-
事件委托就是利用事件冒泡原理,把处理任务委托给父元素或者祖先元素(通常用父元素),我们通过目标对象来判断事件源,并执行事件处理。 <div class="left"> <p class="aaron"> <a>目标节点</a> //点击在这个元素上 </p> </div> 给出如下代码: $("div").on("click","p",fn) 点击A元素后 开始事件冒泡,从指定元素开始向上到不定元素,遇到指定选择器就会执行事件回调函数 我试过了,只能给祖辈元素绑定事件的时候,选择器参数为后代元素,才能实现这样的事件委托,也就是说只有祖辈元素能委托后代元素,同辈元素之间不能相互委托,后代元素也不能委托祖辈元素 取决于你把$("div").on("click","参数",fn)里的参数设成啥,设成p只有点击p才有效果哟~查看全部
-
多个事件绑定同一个函数 $("#elem").on("mouseover mouseout",function(){ }); 通过空格分离,传递不同的事件名,可以同时绑定多个事件 多个事件绑定不同函数 $("#elem").on({ mouseover:function(){}, mouseout:function(){}, }); 将数据传递到处理程序 function greet( event ) { alert( "Hello " + event.data.name ); //Hello 慕课网 } $( "button" ).on( "click", { name: "慕课网" }, greet ); 可以通过第二参数(对象),当一个事件被触发时,要传递给事件处理函数的查看全部
-
keypress事件与keydown和keyup的主要区别 对中文输入法支持不好,无法响应中文输入 无法响应系统功能键(如delete,backspace) 由于前面两个限制,keyCode与keydown和keyup不是很一致 总而言之, KeyPress主要用来接收字母、数字等ANSI字符,而 KeyDown 和 KeyUP 事件过程可以处理任何不被 KeyPress 识别的击键。诸如:功能键(F1-F12)、编辑键、定位键以及任何这些键和键盘换档键的组合等。 keypress也只能获取之前输入的值查看全部
-
键盘的逻辑是:先“按下”,再“输入”。故监听keydown时显示出来的是上一次输入的内容。而keyup就没有这个问题了。keydown事件会少一个字符是因为事件触发在前,获取的是前面已经输入的字查看全部
-
具体能触发submit事件的行为: <input type="submit"> <input type="image"> <button type="submit"> 当某些表单元素获取焦点时,敲击Enter(回车键) 这里需要特别注意: form元素是有默认提交表单的行为,如果通过submit处理的话,需要禁止浏览器的这个默认行为 传统的方式是调用事件对象 e.preventDefault() 来处理, jQuery中可以直接在函数中最后结尾return false即可 <form action="______">这里面的地址就是提交之后页面跳转的地址。查看全部
-
当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件。 这个函数会调用执行绑定到select事件的所有函数,包括浏览器的默认行为。可以通过在某个绑定的函数中返回false来防止触发浏览器的默认行为。 有三种方式解决: return false; preventDefault; stopPropagation(); select事件只能用于<input>元素与<textarea>元素 //监听textarea元素中value的选中 $('textarea').select(function(e) { alert(window.getSelection().toString());//非IE内核浏览器可以用这种方法,考虑兼容性的话你可以用getselectionstart()和getselectionend() });查看全部
-
代码中的e.target返回的是绑定这个事件的DOM对象, 是DOM对象不是Jquery对象, 所以e.target后面跟的属性是js中的属性和方法,要用e.target,value;jquery中的属性和方法用不了,若要用jquery的属性方法,要转化为Jquery对象$(e.target).val(). 或者$(this).val(); this冒泡,e.target.value不冒泡查看全部
-
focusin当一个元素,或者其内部任何一个元素获得焦点的时候会触发这个事件。这跟focus事件区别在于,他可以在父元素上检测子元素获取焦点的情况。查看全部
-
focus和blur不支持冒泡,focusin和focusout支持冒泡 <script type="text/javascript"> //不同函数传递数据 function fn(e) { $(this).val(e.data); $('.aaron1 span').html('请输入参数!').css('color','red'); } function a() { $("input:last").focusout('慕课网', fn) $('input:last').focus('',function(e){ $(this).val(e.data); $('.aaron1 span').html(''); }) } a();查看全部
-
当一个元素,或者其内部任何一个元素获得焦点的时候,例如:input元素,用户在点击聚焦的时候,如果开发者需要捕获这个动作的时候,,jQuery提供了一个focusin事件 $('input:last').focusin('慕课网',function(e){ $(this).val(e.data); })查看全部
-
只需要在hover方法中传递2个回调函数就可以了,不需要显示的绑定2个事件 $(selector).hover(handlerIn, handlerOut) handlerIn(eventObject):当鼠标指针进入元素时触发执行的事件函数 handlerOut(eventObject):当鼠标指针离开元素时触发执行的事件函数 $("p").hover( function() { $(this).css("background", 'red'); }, function() { $(this).css("background", '#bbffaa'); } );查看全部
-
mouseenter和mouseleave没有冒泡问题查看全部
举报
0/150
提交
取消