如何每次左键单击和右键单击都能缩短长度
How I can reduce the length with each left click and right click each increase it?
示例:
div.my{width: 100%;}
<div class="my"></div>
左键单击:
div{width: 75%;}
右键单击:
div{width: 100%;}
将target
的width
初始化为100[如文章中所述]。
监听mousedown
事件,并从传递给callback function
的event
的which
属性中确定单击的鼠标按钮。
在callback function
中,根据鼠标按钮点击add or subtract
所需的unit
[25。
将计算的宽度应用于目标。
工作示例请参考JSFiddle。
var elasticDivWidth = 100;
$('.elastic-div').on('mousedown', function(e) {
e.preventDefault();
if( (e.which == 1) ) {
elasticDivWidth = elasticDivWidth - 25;
} else if( (e.which == 3) ) {
elasticDivWidth = elasticDivWidth + 25;
}
$(this).css('width', elasticDivWidth + '%');
}).on('contextmenu', function(e){
e.preventDefault();
});
.elastic-div {
height: 200px;
background: cyan;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="elastic-div"></div>
首先,您应该小心在浏览器中使用左键单击和右键单击。并非所有浏览器都支持右键单击。如果您仍然希望实现此功能,则可以通过oncontextmenu
事件检测到右键单击。
这篇Stack Overflow文章为您提供了一个JavaScript示例。
基本上,您将需要编写一个在oncontextmenu
发生时触发的函数的脚本。您需要通过document.getElementById()
或类似的DOM遍历函数来访问该元素。然后通过JS中元素的样式属性更改宽度。
仅使用HTML和CSS无法访问右键单击。
相关文章:
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 可以通过编程方式在javascript或jquery中单击箭头键
- 单击和键控操作可以完成一个功能
- 单击更改键,值对
- 如何检测右键单击+左键单击
- 检测右键单击+左键单击不起作用
- Javascript引导框,无法获得按钮单击ENTER键
- jQuery 选项卡悬停操作并单击 URL 键
- 绑定不同目标的单击和键控以执行相同的功能
- 灯箱触发事件以单击空格键或鼠标左键单击
- 全屏 API,无鼠标单击或键按下事件
- 单击空格键时,请勿向下滚动页面
- 用angularjs隐藏HTML部分,点击右键
- 浮动右点击右键和浮动左点击左键使用一个函数,只有javascript
- 如何在selenium中点击右键,不要使用javascript和fireevent
- 触发按钮,在文本框中单击Enter键会丢失其值
- 在信息框中单击右键不起作用
- 单击ESC键后执行
- 如何防止引导转盘在单击右/左控件后恢复幻灯片动画
- 更新表单验证右键剪切/粘贴