2

私のページにこのコードがあります

<body onmouseup="fun()">
.......
.......
<button id="ele">Exclude</button>

</body>

どうすればこのようなことを達成できますか

function fun()
{
    if(MOUSE RELEASE IS ON TOP OF BUTTON #ele)
    {
        console.log('Mouse released on top of the button');
    }
    else
    {
        console.log('Mouse released');
    }
}
4

3 に答える 3

3

jQuery を使用している場合は.on()、イベントをバインドするために使用することをお勧めします。この要素を使用してevent.target、それがボタンであったかどうかを確認できます。

$(document).ready(function(){
    $('body').on('mouseup', fun);
    function fun(event){
        if($(event.target).is('#ele')){
             console.log('Mouse released on top of the button');
        }else{
            console.log('Mouse released');
        }
    }
});
于 2013-01-04T04:13:51.313 に答える
1

event.stopPropagation次のように使用します。

html

<button id="ele">Exclude</button>
<br>
<br>
<div>fun</div>

js

document.body.onmouseup = function(){ fun(); };
function fun(){
 console.log("fun");   
}
var el = document.getElementById("ele");
el.onmouseup = function(e){ e.stopPropagation(); };

デモ: http: //jsfiddle.net/GgKsQ/

これがjQueryを使用したデモです:http mouseup//jsfiddle.net/GgKsQ/1/

于 2013-01-04T04:27:05.297 に答える
1

これは、必要なものを提供するオーソドックスなコードです。エディターにコピーして確認してください。

<!DOCTYPE html>
<html>
<body onmouseup="fun()">
The content of the body element is displayed in your browser.
<br/><br/><br/><br/><br/><br/><br/><br/>
<div id="Exclude" onmousedown="fun2()"> Exclude Me Please </div>
</body>
<script>
var idPressed = 0;
function fun() {
if (idPressed == 0)
console.log('Mouse released');
idPressed = 0;
//alert("Whatever "+this.id);
}

function fun2() {
idPressed = 1;
console.log('Mouse released 2');
//alert("Whatever 2"+this.id);
}

</script>
</html>
于 2013-01-04T04:28:15.610 に答える