Ich bin eine Farbe Picker zu meiner Electron App mit RobotJS, wenn der Benutzer die Schaltfläche klickt ein .click()
löst meine Funktion, die auf eine Eingabe konzentriert (versteckt opacity: 0; height: 0px; width: 0px;
), die als Proxy für, wenn Benutzer klickt(), um die Farbe an der Cursorposition abzurufen. Dann fügt sie diese Farbe in ein anderes Eingabefeld ein und kehrt zurück. Wenn der Benutzer dann jedoch zurück in das zurückgegebene Eingabefeld klickt und dann ausklickt, wird weiterhin die ausgelöst. Warum ist das und wie kann ich es verhindern?Funktion läuft immer nach der Rückkehr
<input class="clickProxy" style="opacity: 0; height: 0px; width: 0px;" />
$('.color_picker').click(function(){
getColorAtPointer();
});
function getColorAtPointer(){
$('input[name="colorSample"]').focus();
$('input[name="colorSample"]').blur(function(){
var mouse = robot.getMousePos();
$('input[name="colorSample"]').val('#'+robot.getPixelColor(mouse.x, mouse.y));
return;
});
}
Vielen Dank!
Das macht Sinn! Danke! – Jam3sn
Realistisch, dann ist das nicht nötig, oder? – Jam3sn
Richtig. Der Event-Handler versteht einen Rückgabewert von 'false', wenn Sie ihn zurückgeben möchten. Dies sollte Ereignisausbreitung/-blasen verhindern. Natürlich, wenn Sie nicht die Rückkehr von einer Funktion aufrufen javascript gibt 'undefined' für Sie zurück, was hier in Ordnung ist. – Marie