voor ik mn vraag stel eerst een stukje code:
dit stuk code is perfect, is shared codebase van enkele sites, en tevens drupal core code, kan dus niets fout aan zijn.
echter wanneer ook volgend stuk code erbij komt (code om google maps te genereren, generateThaMap wordt aangeroepen als onClick event)
krijg ik de volgende foutmelding:
$("textarea.resizable:not(.processed)") has no properties (foutmelding van firebug)
de beide lappen code zijn perfect in orde, echter zorgt de gmap code voor conflicten in de drupal core code. kan iemand me vertellen wat ik in de gmap code zou moeten aanpassen opdat ze niet meer voor conflicten zou zorgen met de drupal core code?
Code:
// $Id: textarea.js,v 1.11 2006/09/07 08:05:31 dries Exp $
Drupal.textareaAttach = function() {
$('textarea.resizable:not(.processed)').each(function() {
var textarea = $(this).addClass('processed'), staticOffset = null;
// When wrapping the text area, work around an IE margin bug. See:
// http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout
$(this).wrap('<div class="resizable-textarea"><span></span></div>')
.parent().append($('<div class="grippie"></div>').mousedown(startDrag));
var grippie = $('div.grippie', $(this).parent())[0];
grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px';
function startDrag(e) {
staticOffset = textarea.height() - Drupal.mousePosition(e).y;
textarea.css('opacity', 0.25);
$(document).mousemove(performDrag).mouseup(endDrag);
return false;
}
function performDrag(e) {
textarea.height(Math.max(32, staticOffset + Drupal.mousePosition(e).y) + 'px');
return false;
}
function endDrag(e) {
$(document).unmousemove(performDrag).unmouseup(endDrag);
textarea.css('opacity', 1);
}
});
}
if (Drupal.jsEnabled) {
$(document).ready(Drupal.textareaAttach);
}
dit stuk code is perfect, is shared codebase van enkele sites, en tevens drupal core code, kan dus niets fout aan zijn.
echter wanneer ook volgend stuk code erbij komt (code om google maps te genereren, generateThaMap wordt aangeroepen als onClick event)
Code:
function $(id) { return document.getElementById(id); }
var global_i = 0;
var bounds;
function g_map() {
this.addresses = [];
this.htmls = [];
this.add_address = function(address, html) {
this.addresses.push(address);
this.htmls.push(html);
}
this.centered = false;
this.build_map = function(div_id) {
if(GBrowserIsCompatible()) {
var map = new GMap2($(div_id));
map.addControl(new GSmallMapControl());
var geocoder = new GClientGeocoder();
map.setCenter(new GLatLng(0,0),0);
bounds = new GLatLngBounds();
for(var i = 0;i < this.addresses.length; i++) {
var self = this;
geocoder.getLatLng(
this.addresses[i],
function(point) {
if(point) {
var marker = new GMarker(point);
marker.i = global_i;
global_i++;
map.addOverlay(marker);
bounds.extend(point);
if(!this.centered) {
map.setCenter(point,16);
}
}
}
);
}
this.centered = true;
}
}
}
var g_map = new g_map();
function generateThaMap(adres) {
g_map.add_address(adres,adres);
g_map.build_map('g_map');
}
krijg ik de volgende foutmelding:
$("textarea.resizable:not(.processed)") has no properties (foutmelding van firebug)
de beide lappen code zijn perfect in orde, echter zorgt de gmap code voor conflicten in de drupal core code. kan iemand me vertellen wat ik in de gmap code zou moeten aanpassen opdat ze niet meer voor conflicten zou zorgen met de drupal core code?
Laatst bewerkt: