我怎样才能调用javascript函数

时间:2013-10-21 06:39:18

标签: javascript jquery html

这里我试图调用锚标记的javascript函数onclick。当我调用函数onclick时,什么也没发生..

我甚至在我的javascript函数中都有警报,甚至警报也没有发生。

这是我的代码:

document.writeln('<td><img class="rteImage" src="' + imagesPath + 'code.gif" width="25" height="24" alt="Code" title="Code" onClick="applyTag(document.getElementById("rte1"),"code")"></td>');

javascript函数:

function applyTag(obj, tag)
{
    wrapText(obj, '<'+tag+'>', '</'+tag+'>');
    alert("hello 1");
};

function wrapText(obj, beginTag, endTag)
{
alert("hello 2");
    if(typeof obj.selectionStart == 'number')
    {
        var start = obj.selectionStart;
        var end   = obj.selectionEnd;   
        obj.value = obj.value.substring(0, start) + beginTag + obj.value.substring(start, end) + endTag + obj.value.substring(end, obj.value.length);
    }
    else if(document.selection)
    {
        obj.focus();
        var range = document.selection.createRange();
        if(range.parentElement() != obj) return false;
        if(typeof range.text == 'string')
        document.selection.createRange().text = beginTag + range.text + endTag;
    }
    else
    obj.value += text;
};

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您似乎在嵌套引号时遇到问题:

document.write('... onClick="applyTag(document.getElementById("rte1"),"code")"> ...')

解决这个问题的最简单方法可能是使用'代替并转义它们(因为你使用单引号字符串生成它来记录文档。)

document.write('... onClick="applyTag(document.getElementById(\'rte1\'),\'code\')"> ...')

答案 1 :(得分:1)

如果您没有使用双引号,那么只要遇到第一个双引号,您的onclick语句就会结束,从而导致javascript错误。

所以不要这个

document.writeln('<td><img class="rteImage" src="' + imagesPath + 'code.gif" width="25" height="24" alt="Code" title="Code" onClick="applyTag(document.getElementById("rte1"),"code")"></td>');

你应该使用

document.writeln('<td><img class="rteImage" src="' + imagesPath + 'code.gif" width="25" height="24" alt="Code" title="Code" onClick="applyTag(document.getElementById(\'rte1\'),\'code\')"></td>');