iceminit
2016-08-31 10:57
<div class="left">
<h4>测试一</h4>
<div class="aaron">
选中文字:input
<input type="text" value="慕课网" />
</div>
<button id="bt1">触发input元素的select事件</button>
<h4>测试二</h4>
<div class="aaron">
textarea:
<textarea rows="3" cols="20">用鼠标选中文字</textarea>
</div>
</div>
<script type="text/javascript">
//监听input元素中value的选中
//触发元素的select事件
$("input").select(function(e){
alert(e.target.textContent)
})
$("#bt1").click(function(){
$("input").select();
})
1,$("input").triggerHandler('select'); 用这个你会发现只有一次。
2,上面就说明后2次是浏览器的默认行为。jquery内部可能调用了这个方法
$("input")[0].select() ,原生js的select方法,你可以去测试一下,这个方法会调用
2次绑定的函数,这就是3次的原因。
备注:只有鼠标去选择才会只执行一次。用原生js代码的select去选中是二次,用jquery的select就是三次了。
第一次是button的,第二次是
$("input").select(function(e){
alert(e.target.value)
})这个的回调,
第三次是浏览器默认提交的
处理方法,阻止回调(return false;)
兄台这样可以么,如果你有什么见解可以留言给我。
你的select事件的触发元素是节点<input>的,与弹出对话框的按钮无关
你是单击了弹出框的确定按钮吧。
jQuery基础(三)—事件篇
89997 学习 · 625 问题
相似问题