jQuery UI 拖动(Draggable) - 事件

简介:

定义和用法

draggable 上的 start、drag 和 stop 事件。拖拽开始时触发 start 事件,拖拽期间触发 drag 事件,拖拽停止时触发 
stop 事件


示例

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<title>jQuery UI 拖动(Draggable) - 事件</title>
	<link rel="stylesheet" href="js/jquery-ui-1.12.1.custom/jquery-ui-1.12.1.custom/jquery-ui.min.css">
	<style>
		#draggable{
			width: 16em;
			padding: 0 1em;
		}

		#draggable ul li{
			margin:1em 0;
			padding:0.5em 0;
		}

		#draggable ul li span.ui-icon{
			float: left;
		}

		#draggable ul li span.count{
			font-weight: bold;
		}
	</style>
</head>
<body>
	<div id="draggable" class="ui-widget ui-widget-content">
		<p>请拖拽我,触发一连串的事件。</p>

		<ul class="ui-helper-reset">
			<li id="event-start" class="ui-state-default ui-corner-all">
				<span class="ui-icon ui-icon-play">"start" 被调用</span>
				<span class="count">0</span>x "start" 被调用
			</li>
			<li id="event-drag" class="ui-state-default ui-corner-all">
				<span class="ui-icon ui-icon-arrow-4">"drag" 被调用</span>
				<span class="count">0</span>x "drag" 被调用
			</li>
			<li id="event-stop" class="ui-state-default ui-corner-all">
				<span class="ui-icon ui-icon-stop">"stop" 被调用</span>
				<span class="count">0</span>x "stop" 被调用
			</li>
		</ul>
	</div>

	<script src="js/jquery-ui-1.12.1.custom/jquery-ui-1.12.1.custom/external/jquery/jquery.js" type="text/javascript" ></script>
	<script src="js/jquery-ui-1.12.1.custom/jquery-ui-1.12.1.custom/jquery-ui.min.js"></script>
	<script>
		//获取对象
		var $start_counter = $("#event-start"),
		$drag_counter = $("#event-drag"),
		$stop_counter = $("#event-stop"),
		counts = [0,0,0];

		$("#draggable").draggable({
			start:function(){
				counts[0]++;
				updateCounterStatus($start_counter,counts[0]);
			},
			drag:function(){
				counts[1]++;
				updateCounterStatus($drag_counter,counts[1]);
			},
			stop:function(){
				counts[2]++;
				updateCounterStatus($stop_counter,counts[2]);
			}
		});


		/**
		 * 更新数值
		 * @param  {[object]} $event_counter [li对象]
		 * @param  {[int]} new_count      [次数]
		 */
		function updateCounterStatus($event_counter,new_count){
			if (!$event_counter.hasClass('ui-state-hover')) {
				$event_counter.addClass('"ui-state-hover"')
				.siblings().removeClass('ui-state-hover');
			}

			$("span.count",$event_counter).text(new_count);
		}
	</script>
</body>
</html>


输出

wKiom1ilR6yjNvWPAAAwes1kNMw346.png-wh_50


本文转自 素颜猪 51CTO博客,原文链接:http://blog.51cto.com/suyanzhu/1898460


相关文章
N..
|
1月前
|
JavaScript 前端开发
jQuery事件处理
jQuery事件处理
N..
19 1
|
1月前
|
JavaScript 前端开发 索引
JQuery样式操作、click事件以及索引值-选项卡应用示例
JQuery样式操作、click事件以及索引值-选项卡应用示例
30 1
|
1月前
|
JavaScript
jquery动画与事件案例
jquery动画与事件案例
16 0
|
1月前
|
搜索推荐 BI 开发者
sap.ui.comp.smarttable.SmartTable 组件 beforeRebindTable 事件的用法
sap.ui.comp.smarttable.SmartTable 组件 beforeRebindTable 事件的用法
|
1月前
|
JavaScript
Vue给Element UI的el-popconfirm绑定按钮事件
Vue给Element UI的el-popconfirm绑定按钮事件
|
1月前
使用element clickoutside自定义指令事件,点击元素外部触发(element-ui/src/utils/clickoutside)
使用element clickoutside自定义指令事件,点击元素外部触发(element-ui/src/utils/clickoutside)
|
14天前
|
Web App开发 缓存 JavaScript
JQuery Kendo UI使用技巧总结
JQuery Kendo UI使用技巧总结
14 4
|
1月前
|
JavaScript 前端开发 C++
【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
【5月更文挑战第2天】【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
|
1月前
|
Web App开发 JavaScript 前端开发
jquery的冒泡事件event.stopPropagation()
jquery的冒泡事件event.stopPropagation()
14 0
|
1月前
|
JavaScript 前端开发
jQuery中的事件与动画
jQuery中的事件与动画
13 0