| 

.NET C# Java Javascript Exception

1
Hallo,
jQuery Funktion feuert erst beim 2. Mal, soll aber sofort-
es tritt manchmal auf und ich habe trotz Suche und vieler Versuche, den Code zu ändern, keine Lösung gefunden, bin aber auch kein Profi,
(auch andere Verschachtelungen ergaben nichts,)
in diesem Fall soll es die Änderung eines inputs in einem Formular (das nachträglich in eine dynamisch erzeugte Tabelle geschrieben wird) in ein div schreiben und den Hintergrund der Zeile sowie Schriftfarbe, also per addClass("gelb"), setzen,
es geht, aber erst bei der 2. Änderung, die in ein input eingegeben wird,
habe die Funktion auch ausgelagert versucht, gleiches Ergebnis.
//Fomtags erzeugen, zu tr schreiben, ...
$("#example2b").bind("click", function(){
var atag = '<form class="formular test" action="">';
var iTr = $(".ui-table-rows-odd").html();
var etag = "</form>";
var idnr = $("input.id").text();

//schreibt um die tr das formular- anf. + endtag
$(".ui-table-rows-odd").wrap( '<form class="formular test" action=""></form>' );
$(".ui-table-rows-even").wrap( '<form class="formular test" action=""></form>' );

//value tr im jeweils angeklickten formular "test" editierbar, anzeigen und änderg. val übernehmen, + css klasse blue
$(document).on('click', '.test', function(e) {
//e.preventDefault();
//alert( $('.test').serialize() );
$(this).addClass("blue");
var dat = $( this ).serialize();

//$("div.f2").text($(dat).serialize());
$("div.f2").text(dat);
$(".anzeige, .close").slideDown("slow").fadeOut(3000);

//Änderung des input übernehmen und im div "anzeige" anzeigen
function displayVals() {
var multipleValues = $(this).val() || [];
$( ".aenderung" ).html( "<b>Ihre letzte Änderung:</b> " + multipleValues);
}
$( "input" ).change( displayVals );
displayVals();
});

//geänderte zeile färben
$('.test input').on('change', function() {
//$(document).on('blur', '.test input', function(e) {
$(this).addClass("gelb");
});
//})


/* klasse blue löschen da sonst bei jedem klick ein rahmen hinzukommt */
$(this).removeClass("blue");
e.preventDefault();
});

});


Das Gleiche auch hier: In der Lightbox wird erst beim 2. Aufruf der Titeltext angezeigt, dann auch jeder
warum nur?

$('.lightbox_trigger').on('click', function(e) {        
e.preventDefault();
//var image_href = $(this).attr("href");
var linkb_href = $(this).attr("href");
var titeltext = $(this).attr("title");
var maxheightvalue = $("#lightbox").height -60;
$("#lightbox img").css("max-height", maxheightvalue + "px");

if ($('#lightbox').length > 0) {
$('#contentlb').html('<iframe src="' + linkb_href + '" class="transp"><p>Ihr Browser kann leider keine eingebetteten Frames anzeigen</p></iframe>');
'<span class="hide_lb" title="schließen"><span class="x">X</span></span>'+
// '<span class="hide_lb">X</span>'+

$('#lightbox').fadeIn(770);
}
else {
var lightbox =
'<div id="lightbox">' +
'<span class="hide_lb" title="schließen"><span class="x">X</span></span>'+
//'<span class="hide_lb">X</span>'+
'<div id="contentlb">' +
'<iframe src="' + linkb_href + '" allowtransparency="true"><p>Sollten Sie nicht die Inhalte von ArtHouse39 hier sehen, gehen Sie bitte auf eine der Seiten z. B. <a href="http://www.arthouse39.de/">Startseite</a></p></iframe>' +
'</div>' +
'</div>';

$('body').append(lightbox);

$('#lightbox').mousemove(function() {
$('.x').addClass("rotatex");
});
$('#lightbox').click(function() {
$('#lightbox').fadeOut(300);
});
}
});
//--------------------------
$(".hide_lb").click(function(){
$("#lightbox").hide(700);
return false;
});
News:
29.04.2016
artpraxis 1 1
Warum setzt du die ganzen Handler im Click-Handler von #example2b/.lightbox_tigger? Damit sind die anderen Handler erst aktiv nachdem #example2b bzw. .lightbox_trigger geklickt wurde. Warum machst du das so?

Kannst du auch noch etwas von deinem HTML-Code posten (Bitte die "Frage editieren"-Funktion verwenden)? Dann könnte man das mal ausprobieren.
phg 30.04.2016
1 Antwort
0
Thank you for sharing the code. This is exactly what I need instagram online
16.06.2017

Stelle deine Javascript-Frage jetzt!