⑴ javascript 怎麼判斷滑鼠拖動方向
原理就是通過比較滑鼠的XY坐標來判斷。我不知道有沒有其他的方式了,就拿知道的來說。下面是實現代碼。
<script>
var lastX = null,
lastY = null;
window.onmousemove = function(event){
var curX = event.clientX,
curY = event.clientY,
direction = '';
// console.info(event);
// console.info(event.clientX);
// console.info(event.clientY);
// 初始化坐標
if(lastX == null || lastY == null){
lastX = curX;
lastY = curY;
return ;
}
if(curX > lastX){
direction += 'X右,';
}else if(curX < lastX){
direction += 'X左,';
}else{
direction += 'X居中,';
}
if(curY > lastY){
direction += 'Y上';
}else if(curY < lastY){
direction += 'Y下';
}else{
direction += 'Y居中';
}
lastX = curX;
lastY = curY;
console.info(direction);
document.body.innerText = direction;
}
</script>
⑵ js如何判斷游標是否在某元素上
判斷游標是否在某元素上可以在window監聽onmouseenter(onmouseleave)或者onmouseover(onmouseout)給某變數賦值1(賦值0),那麼變數為1則在元素上(0則不在元素上)
window.onmouseover = function () { isOn = 1};
window.onmouseout = function () { isOn = 0};
window中mouse相關事件補充:
onmousedown 滑鼠按鈕被按下 (和onmouseup組成了單擊事件);
onmouseenter 當滑鼠指針移動到元素上時觸發 (只在進入後觸發一次,不支持冒泡,子元素不觸發);
onmouseleave 當滑鼠指針移出元素時觸發 (只在離開後觸發一次,支持冒泡,子元素也可以觸發);
onmousemove 滑鼠被移動 (在元素內移動會一直觸發);
onmouseover 滑鼠移到某元素之上 (只在進入後觸發一次,支持冒泡,子元素也可以觸發);
onmouseout 滑鼠從某元素移開 (只在離開後觸發一次,支持冒泡,子元素也可以觸發);
onmouseup 滑鼠按鍵被松開;
⑶ js怎麼區分出點擊的是滑鼠左鍵還是右鍵
可用event.button判斷;當其值為『2』時 點擊了滑鼠右鍵,0為滑鼠左鍵,1為滑輪
以下為w3c js手冊里給出的實例
<html>
<head>
<script type="text/javascript">
function whichButton(event)
{
var btnNum = event.button;
if (btnNum==2)
{
alert("您點擊了滑鼠右鍵!")
}
else if(btnNum==0)
{
alert("您點擊了滑鼠左鍵!")
}
else if(btnNum==1)
{
alert("您點擊了滑鼠中鍵!");
}
else
{
alert("您點擊了" + btnNum+ "號鍵,我不能確定它的名稱。");
}
}
</script>
</head>
<body onmousedown="whichButton(event)">
<p>請在文檔中點擊滑鼠。一個消息框會提示出您點擊了哪個滑鼠按鍵。</p>
</body>
</html>
⑷ cocos2d-js有會的嗎怎麼監聽滑鼠和觸摸事件
cc.eventManager.addListener(cc.EventListener.create({
event : cc.EventListener.MOUSE,
onMouseDown : function(event) {
var pos = event.getLocation(); //當前事件發生的游標位置
var target = event.getCurrentTarget(); //事件綁定的目標
//判斷當前事件發生的位置是否在事件目標區域內
if( cc.rectContainsPoint(target.getBoundingBox(), pos) ) {
cc.log("Mouse Down");
return true;
}
return false;
},
onMouseUp : function(event) {
var pos = event.getLocation();
var target = event.getCurrentTarget();
if( cc.rectContainsPoint(target.getBoundingBox(), pos) ) {
cc.log("Mouse up");
return true;
}
return false;
}
}), playButton);。
⑸ js 判斷滑鼠在哪個對象范圍內
這個可以利用 JS 的事件傳遞的特性,在body捕獲到頁面的所有的滑鼠進入事件,並獲取到觸發事件的最底層的元素。這樣你就知道滑鼠當前處在那個元素中了。
例:
<div style="width:500px;height:500px;background:red;" id="redDiv">
<div style="width:400px;height:400px;background:yellow" id="yellowDiv">
<div style="width:300px;height:300px;background:blue" id="blueDiv">
</div>
</div>
</div>
<input type="text" id="msg" value=""/><!-- 顯示結果的文本框 -->
<script>
var body = document.body;//找到頁面body用於綁定,其實也可以綁定document
function addHandler(element,type,handler){//給頁面元素添加事件的通用方法,不理解的可以死記硬背下。寫法是固定的。
if(element.addEventListener){// !IE//非IE下用addEventListener給元素添加事件
element.addEventListener(type,handler,false);
} else if(element.attachEvent){// IE//IE下要用 attachEvent給元素添加事件
element.attachEvent('on'+type,handler);
} else {//DOM0級//都不支持的時候 就用這種方法 給元素添加事件
element['on'+type] = handler;
}
};
var msg = document.getElementById('msg');//為了看著方便,定義了一個文本框,用於顯示滑鼠當前所在位置的id
addHandler(body,'mouseover',function(event){
var event = event||window.event;
var target = event.target||event.srcElement;//找到真正觸發事件的元素,
msg.value = target.id;//這里取了觸發元素的id,並傳遞給 文本框 方便查看。//文本框的id也是能被捕獲到的。
});
</script>
⑹ js 判斷當前滑鼠在哪個元素上
<html>
<hr/>
<divid="dd"style="background:red">12</div>
<divid="dd1"style="background:red">12</div>
<pid="2"style="background:red">12
123123
<p>12331</p>
<a>zzzzzz</a>
</p>
<hr/>
<script>
document.body.onmouseover=function(e){
e=e|制|window.event;
varnode=e.target||e.srcElement;
if(window._lastNode!=node){
console.log(node)
}
}
</script>
</html>
文字說明:如果你看不懂,你還是放棄吧。