如何将包含数据的dispatchEvent附加到具有jquery的类

时间:2014-05-15 18:48:20

标签: javascript jquery

我的脚本出现问题,我自己也无法看到问题:

    $("#mainsub").append(newRow + "<div class='showMore' onclick='document.dispatchEvent(expand, { 'postId': " + pf.id + " })'>Show More</div></div>");

我的webkit调试器说:&#34;未捕获的SyntaxError:意外的令牌;&#34;当我点击元素时。

有没有人遇到过这个?代码行有问题吗?

编辑:** newRow看起来像这样:

    var newRow = "<div id=" + pf.id + ">"+rowContents;

rowContents是:

    rowContents += "<div class='"+tagName+"'>"+tag.text()+"</div>";

标签名称仅来自我正在解析的一些xml。

另一个编辑:我只是将整个功能放入以防万一这是有帮助的

pf.parseResults = function(){
    $("#mainsub").empty();
    var $xml = $(pf.xml);
    var $query = $xml.find('query_result').children().each(function() {
        var row = $(this);
        var rowContents = "";
        row.children().each(function() {
            var tag = $(this);
            var tagName = tag[0].tagName;
            if(tagName != "ID"){
                rowContents += "<div class='"+tagName+"'>"+tag.text()+"</div>";
            }
            if(tagName === "ID"){
                pf.id = tag.text();
            }
        });
        var newRow = "<div id=" + pf.id + ">" + rowContents;
        $("#mainsub").append(newRow + "<div class='showMore' onclick='document.dispatchEvent(expand, { \'postId\': " + pf.id + " })'>Show More</div></div>");// this fires an event with data attached listing the id of the element the user tapped/**/
    });
    $("#mainsub").append("<div onclick='document.dispatchEvent(nextPage)'><p>Next</p></div>");// figure out how to not show next when there will not be another page
    if(pf.getPage > 0){
        $("#mainsub").append("<div onclick='document.dispatchEvent(previousPage)'><p>Previous</p></div>");// show go to previous as long at it will exist
    }
};

1 个答案:

答案 0 :(得分:2)

当您嵌套相同类型的引号(在您的情况下为单引号)时,您必须像这样转义它们:

    $("#mainsub").append(newRow + "<div class='showMore' onclick='document.dispatchEvent(expand, { \'postId\': " + pf.id + " })'>Show More</div></div>");

由于这行代码很长,并且我没有更改过多的魔杖,我会指出转义的引号位于此expand, { \'postId\': " + pf.id + " }片段中。