私は、特定のdiv内のクリックの位置で次のクリック時にそれぞれイメージを追加する一連のボタンを持っています。しかし、私はボタンをクリックした後、別のボタンを押すまで、クリックするたびに画像が追加されるという問題に直面しています。どうすればボタンをクリックするだけでonmousedown関数を呼び出すことができますか?ここでonmousedownが再び実行されるのを止めるにはどうすればいいですか
は私が持っているものです。
function makeSnow() {
document.body.style.backgroundColor = "red";
document.getElementById("canvas").onmousedown = function() {
var x = event.clientX;
var y = event.clientY;
var pic = document.getElementById("snowballAppear");
pic.style.display = '';
pic.style.position = 'absolute';
pic.style.left = x - 50 + 'px';
pic.style.top = y - 50 + 'px';
document.body.style.backgroundColor = 'blue';
};
};
function makeCat() {
document.body.style.backgroundColor = "red";
document.getElementById("canvas").onmousedown = function() {
var x = event.clientX;
var y = event.clientY;
var pic = document.getElementById("catAppear");
pic.style.display = '';
pic.style.position = 'absolute';
pic.style.left = x - 50 + 'px';
pic.style.top = y - 50 + 'px';
document.body.style.backgroundColor = 'blue';
};
};
function makeDog() {
document.body.style.backgroundColor = "red";
document.getElementById("canvas").onmousedown = function() {
var x = event.clientX;
var y = event.clientY;
var pic = document.getElementById("dogAppear");
pic.style.display = '';
pic.style.position = 'absolute';
pic.style.left = x - 50 + 'px';
pic.style.top = y - 50 + 'px';
document.body.style.backgroundColor = 'blue';
};
};
<div id="container" class "container">
<div id='canvas' style="background-color: green; width: 300px; height: 300px;">
</div>
<ul>
<button onClick="makeSnow()">
<li>snow</li>
</button>
<button onClick="makeCat()">
<li>cat</li>
</button>
<button onClick="makeDog()">
<li>dog</li>
</button>
</ul>
<div class "picture">
<img alt="snowballAppear" id="snowballAppear" style="display: none; width: 100px; height: 100px;" src="http://vignette3.wikia.nocookie.net/pottermore/images/9/99/Snowball-lrg.png/revision/latest?cb=20130412122815" />
</div>
<div class "picture">
<img alt="catAppear" id="catAppear" style="display: none; width: 100px; height: 100px;" src="https://images.pexels.com/photos/104827/cat-pet-animal-domestic-104827.jpeg?h=350&auto=compress&cs=tinysrgb" />
</div>
<div class "picture">
<img alt="dogAppear" id="dogAppear" style="display: none; width: 100px; height: 100px;" src="https://images.pexels.com/photos/39317/chihuahua-dog-puppy-cute-39317.jpeg?h=350&auto=compress&cs=tinysrgb" />
</div>
</div>
ボタンをクリックした後は無効にしますか? – Andy