Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
jQuery vs. Scriptaculous Konflikt [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
jQuery vs. Scriptaculous Konflikt


 
mcmurphy
17-08-2010, 15:56 
 
Hi allerseits,
habe folgendes Problem:
bei einem Projekt soll jQuery und Scriptaculous eingesetzt werden.
jQuery wird nach anleitung im noConflictMode eingebunden.
Der IE8 ignoriert aber die jQuery Function .width(value) bzw. .height(value)
siehe Beispiel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>jQuery vs. Scriptaculous</title>
<meta name="robots" content="noindex, nofollow">

<!-- JavaScript -->
<script type="text/javascript" src="../js/scriptaculous-js-1.8.3/lib/prototype.js"></script>
<script type="text/javascript" src="../js/scriptaculous-js-1.8.3/src/scriptaculous.js"></script>
<script type="text/javascript" src="../js/jquery-1.4.min.js"></script>
<script>
jQ = jQuery.noConflict();
jQ(document).ready(function(){
jQ("#test").click(function(){jQ("#stretchTest").width( 50 );});
});
</script>
</head>
<body>
<div id="test" style="width:100px; height:100px; background:green;">Klick me</div>
<div id="stretchTest" style="width:300px; height:200px; background:red;">xx</div>
</body>
</html>


Im IE7 funktioniert das Beispiel.
Hat einer ne Idee?
Was mich auch wundert:
finde bei google nix zum Thema scriptaculous jquery conflict width() ie (ausser wie man mit noConflict arbeitet)
THX in Advance

 
wahsaga
17-08-2010, 16:20 
 
bei einem Projekt soll jQuery und Scriptaculous eingesetzt werden.
Na das nenn ich doch mal error by design - nicht nur ein Monster, sondern gleich zwei ...

Der IE8 ignoriert aber die jQuery Function .width(value) bzw. .height(value)
„ignoriert“ analog „funzt nich“ == unbrauchbar als Problembeschreibung.

Wie sahen denn deine bisherigen Versuche aus, das Problem zu analysieren, und was haben sie ergeben?

 
mcmurphy
17-08-2010, 16:35 
 
THX Wahsaga

Zu eins:
gebe ich dir Recht - ist nicht auf meinem Mist gewachsen - aber ich soll den Stall ausräumen ;-)

Zu zwei
ignoriert im sinne von: es passiert gar nichts, auch keine Fehlermeldung.
Auch
try{
jQ = jQuery.noConflict();
jQ(document).ready(function(){
jQ("#test").click(function(){jQ("#stretchTest").width( 50 );});
});
}catch(e){alert(e);}
gibt keine Fehlermeldung.

In IE7, Safari 4, FF 3.5 wird das stretchTest div bei einem Klick auf #Test 50px in der Breite gesetzt

Ups, hatte beim IE8 Entwickler Tools übersehen:
jQ("#test").click(function(){jQ("#stretchTest").width( 50 );});
Das Objekt unterstützt diese Eigenschaft oder Methode nicht.

 
wahsaga
17-08-2010, 18:51 
 
Ups, hatte beim IE8 Entwickler Tools übersehen:
jQ("#test").click(function(){jQ("#stretchTest").width( 50 );});
Das Objekt unterstützt diese Eigenschaft oder Methode nicht.
Na dann nimm das Statement mal auseinander, und teste die einzelnen Bestandteile nacheinander - um zu sehen, wo es hakt.

jQ("#test")
jQ("#test").click(function(){ alert('xyz'); });
...
Mal mittels typeof zu schauen, ob's die verwendeten Objekte gibt, wäre auch noch ein Weg mehr Klarheit zu erhalten.

 
mcmurphy
18-08-2010, 10:55 
 
Hi,
alert(typeof(jQ("#stretchTest")));
sagt mir in IE (7 und 8) sowie FF "Object"

var width = 20;
jQ("#test").click(function(){jQ("#stretchTest").width( 50 );});

wird in IE 8 nicht ausgeführt - da kommt die Meldung "Das Objekt unterstützt diese Eigenschaft oder Methode nicht."

Als Work Around habe ich jetzt das gemacht:
var width = 20;
jQ("#test").click(function(){jQ("#stretchTest").css({'width': width+'px'});});

das funktioniert auch im IE 8

Wie gesagt, das Problem tritt nur im IE8 auf wenn prototype.js eingebunden wird.

@Wahsaga: meinst du ich sollte das als Bug bei jQuery posten?
Du hast ja recht das der Mix von jQuery und Prototype einem Ärger einbringt, aber in der Regel funktioniert jQuery.noconflict() ja...


Alle Zeitangaben in WEZ +2. Es ist jetzt 05:07 Uhr.