Ich habe ein Problem mit einem Phonegap Build, eine Funktion zwei Mal ausgeführt (auf meinem Handy mit dem Phonegap Build), anders, wenn ich das Skript auf Firefox ausführen.Js Funktion run 2 Mal auf Phonegap Build
Das ist ein Teil meiner Code:
$(".blackcase").click(function(e)
{
if (elemIsEmpty($(this)) && isSelected("black"))
{
return;
}
if (isSelected("white"))
{
//swap white to black
alert("swap b to w");
if ($(this).html() == valueoffirst.html())
{
$(valueoffirst.html(""));
alert("swap b to w1");
}
else
{
swapValuesFromTo($("#" + selectedCase.id), $(this));
alert("swap b to w 2");
}
clearSelectedCase();
removeSelectionWithRed();
return;
}
if (isSelected("black"))
{
alert("swap b to b");
$("#" + selectedCase.id).removeClass('red');
if ($(this).html() == valueoffirst.html() && $(this).attr('id') != valueoffirst.attr('id'))
{
$(valueoffirst.html(""));
alert("swap b to b1");
}
else
{
swapValuesFromTo($("#" + selectedCase.id), $(this));
alert("swap b to b 2");
}
clearSelectedCase();
removeSelectionWithRed();
return;
}
//alert("black is selected");
selectWithRed($(this));
updateSelectedCase("black", $(this).attr("id"), $(this).html());
valueoffirst = $(this);
});
function removeSelectionWithRed()
{
$('div').removeClass('red');
}
function selectWithRed(element)
{
removeSelectionWithRed();
element.addClass('red');
}
function updateSelectedCase(color, id)
{
selectedCase.color = color;
selectedCase.id = id;
}
function moveValueFromTo(elemFrom, elemTo)
{
elemTo.html(elemFrom.html());
setValueToElem("", elemFrom);
}
function setValueToElem(value, elem)
{
elem.html(value);
}
function swapValuesFromTo(elemFrom, elemTo)
{
var fromValue = elemFrom.html();
var toValue = elemTo.html();
setValueToElem(fromValue, elemTo);
setValueToElem(toValue, elemFrom);
}
function isSelected(color)
{
return selectedCase.color == color;
}
function clearSelectedCase()
{
selectedCase.color = "";
selectedCase.id = "";
}
function elemIsEmpty(elem)
{
return elem.html().length == 0;
}
Wenn ich auf Firefox mein Code ausführen, wenn ich auf einem anderen blackcase dann auf schwarzem Fall klicken, es sind die Werte tauschen und ich habe zwei Warnungen:
Swap b
Swap b b b2
alles in Ordnung ist, aber auf meinem Handy mit meinem phongap Build-Test, wenn ich auf blackcase klicken dann noch die Werte blackcase nicht tauschen und ich habe 4 Warnungen:
Swap b
Swap b b
Swap b b2
Swap b b b2
Ich denke also, Werte Tauschen Sie, aber wechseln Sie erneut, so dass die Werte gleich sind wie die Anfangswerte (so wie sich nichts ändert).
Vielen Dank für Ihre Hilfe!
Klingt, als ob etwas Ihren Click-Handler mehr als einmal hinzufügt. wo ist '$ (". blackcase "). click (function() {})' called von –
Danke, ja, aber ich verstehe nicht, warum es auf Firefox ok ist, gibt es eine js-Spezifikation für phonegap oder andere denken so ? – Sanalol