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


相关文章
|
6月前
|
JavaScript
Vue给Element UI的el-popconfirm绑定按钮事件
Vue给Element UI的el-popconfirm绑定按钮事件
|
6月前
使用element clickoutside自定义指令事件,点击元素外部触发(element-ui/src/utils/clickoutside)
使用element clickoutside自定义指令事件,点击元素外部触发(element-ui/src/utils/clickoutside)
|
5月前
|
Web App开发 缓存 JavaScript
JQuery Kendo UI使用技巧总结
JQuery Kendo UI使用技巧总结
41 4
|
3月前
|
编解码 前端开发 vr&ar
从零开始的PICO教程(4)--- UI界面绘制与响应事件
这篇文章是PICO开发系列教程的第四部分,主要介绍了如何在PICO 4 VR环境中创建UI界面,包括Canvas和Panel的配置、UI元素的绘制、以及Button和Slider的事件响应绑定,并通过示例展示了数字增减和滑块功能的具体实现。
从零开始的PICO教程(4)--- UI界面绘制与响应事件
|
4月前
Element UI【实战范例】下拉选择 el-select 的 change 事件传入选中值+自定义参数
Element UI【实战范例】下拉选择 el-select 的 change 事件传入选中值+自定义参数
743 1
|
JavaScript 前端开发
前端学习笔记202306学习笔记第五十四天-react.js & material-ui之Dialog表单提交,ICon样式事件,删除功能5
前端学习笔记202306学习笔记第五十四天-react.js & material-ui之Dialog表单提交,ICon样式事件,删除功能5
47 0
|
JavaScript 前端开发
jQuery实现可拖动控制进度条
jQuery实现可拖动控制进度条
47 0
|
JavaScript 前端开发
jQuery滑块拖动控制数字的增加和减少
jQuery滑块拖动控制数字的增加和减少
46 0
|
JavaScript 前端开发 开发者
jquery-easyui和jquery-ui的slider冲突解决
jquery-easyui和jquery-ui的slider冲突解决