Страницы: 1
Anton
Не очень красиво но заработало
image.onclick = function() { this["instance"].executeAction(this["action"]); }.bind(new myObject({ instance : this, action : arrayToolbar[i][1] }));
Dark-Demon
Так неверное удобнее, но писать в документ напрямую я не люблю, один раз изза этого я долго мучался. Сейчас через DOM. так удобней и безопасней, только вот некоторIE браузеры не очень поддерживают их.
по моему у вас опять проблема в this:
в данном случае все правильно, этот "тот самый" this
Динамичаски загружать необходимо потому что CSS файл может находится в разных каталогах.
Проблему решил: указал для iframe аттрибут src на пустоу HTML файл, и потом добавил CSS динамичаский.
PS:
p.s.: старайтесь приводить коды меньших размеров
будем приводить поменьше(в следующий раз)
Спасибо за помощь!!!
Пытаюсь динамический загрузить CSS, для iframe
[code]var jsEditorBaseUrl = false;
var elements = document.getElementsByTagName("script");
for (var i = 0; i < elements.length; i++)
{
if (elements[i].src && (elements[i].src.indexOf("jseditor.js") != -1))
{
var src = elements[i].src;
jsEditorBaseUrl = src.substring(0, src.lastIndexOf('/'));
break;
}
}
var jsEditorPathCSS = jsEditorBaseUrl + "/css/";
var jsEditorPathImg = jsEditorBaseUrl + "/img/";
// функция для загрузки
function importCSSToDoc(doc, cssFileName) {
var styleSheet = doc.createElement("link");
styleSheet.setAttribute("href", jsEditorPathCSS + cssFileName);
styleSheet.setAttribute("rel", "stylesheet");
styleSheet.setAttribute("type", "text/css");
var head = doc.getElementsByTagName("head");
head[0].appendChild(styleSheet);
}
Function.prototype.bind = function(object) {
var method = this
return function() {
return method.apply(object, arguments)
Да действительно работает толко одна кнопка. Здесь http://xpoint.ru/know-how/JavaScript/Po … DlyaCallba приведен пример передачи одного параметра, как можно реализовать передачу двух или болле, пробовал так
[code]jsEditor.prototype = {
executeAction : function(action)
{
alert("instance : " + this.name + ", action : " + action);
},
createToolbarFromArray : function(toolbarCell, arrayToolbar)
{
var instanceName = this.name;
for (i in arrayToolbar)
{
var image = document.createElement("img");
image.setAttribute("src", jsEditorPathImg + arrayToolbar[i][2]);
image.setAttribute("class", "jseditor-button");
image.onclick = function(action)
{
this.executeAction(action);
}.bind(this, arrayToolbar[i][1]);
image.onmouseover = function()
{
this.id = "js-button-s
Рещил проблема была в
заменил на
Глухо:(
Добавлено Пнд 13 Авг 2007 14:47:12 :
Решилось для
<script type="text/javascript"> function TFoo() { } TFoo.prototype = { init : function() { var div = document.body; div.addEventListener("click", TFoo.prototype.load, false); }, load : function() { alert("hello"); } }; foo = new TFoo(); foo.init(); </script>
пашет скомпоную под неё. Спасибо!!!
не работает, даже так :
image.onclick = function() { document.getElementById("msg").innerHTML = "asdasdasd"; };
Вышеуказанным методом не получается, выводит ту же ошибку NS_ERROR_XPC_BAD_CONVERT_JS, и обработчик я выносил за пределы jsEditor, не помогает.
Выводит ошибку :
uncaught exception: [Exception... "Could not convert JavaScript argument" nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)" location: "JS frame :: file:///home/almaz/proj/jseditor/jseditor.js :: anonymous :: line 27" data: no]
Даже так не помогает
Необходимо написать небольшой редактор через desigmMode.
Необходимо отслеживать нажатие кнопок(картинок), прикрепляю обработчики через addEventListener но не работает. FireBug никаких сообщений об ошибке не выдает.
Вот исходниый код:
[code]function jsEditor(name, content, height, width)
{
this.name = name;
this.content = content;
this.height = height;
this.width = width;
this.create();
}
jsEditor.prototype = {
executeAction : function()
{
var div = document.getElementById("msg");
div.innerHTML = "asdasdasd";
},
createToolbarFromArray : function(arrayToolbar)
{
var toolbar = document.createElement("div");
for (i in arrayToolbar)
{
var image = document.createElement("img");
image.setAttribute("id", arrayToolbar[i][1] + "-button");
image.setAttribute("src", "styles/img/jseditor/" + arrayToolbar[i][2]);
image.addEventListener("click", this
…Страницы: 1