为什么qtip2工具提示中的onclick事件不起作用?

时间:2012-07-03 08:32:54

标签: javascript jquery button qtip2

在下面给出的jsfiddle链接中,有2个按钮,点击其中任何一个时都会显示工具提示。我希望工具提示中的按钮更改“删除”文本和“输入文本”的显示和其他属性(使文本字段可编辑)问题是值确实更新但文本仍然不可编辑“请建议解决问题

JSFIDDLE

HTML

<button id="gear">Gear</button>
<button id="gear1">Gear</button>
<div style="display:none;" id="menu">
    <button class="menuitem">Rename</button><br>
    <input type= "text" id = "try" readonly = "true"><br>
    <div id = "delete" style = "display: block">Delete</div><br>
</div>

的JavaScript

$(function() {
    $("#gear").button({
        icons: {
            primary: "ui-icon-gear",
            secondary: "ui-icon-triangle-1-s"
        },
        text: false
    }).qtip({
        content: {
            text: $('#menu')
        },
        show: {
            event: 'click',
            solo: true,
            modal: true
        },
        style: {
            classes: 'ui-tooltip-dark ui-tooltip-shadow'
        },
        position: {
            my: 'top center',
            at: 'bottom center',
        }
    });
     $("#gear1").button({
        icons: {
            primary: "ui-icon-gear",
            secondary: "ui-icon-triangle-1-s"
        },
        text: false
    }).qtip({
        content: {
            text: $('#menu')
        },
        show: {
            event: 'click',
            solo: true,
            modal: true
        },
        style: {
            classes: 'ui-tooltip-dark ui-tooltip-shadow'
        },
        position: {
            my: 'top center',
            at: 'bottom center',
        }
    });
    $(".menuitem").click(function(){
        document.getElementbyId("try").readOnly = false;
        document.getElementbyId("delete").style.display = none;                alert($(this).text());
    });
});​

CSS

#gear {
    margin:100px;
}
.menuitem {
    padding-left: 10px;
    padding-right: 10px;
    font-size: 9px;
    margin-bottom: 3px;
    width: 75px;
}

1 个答案:

答案 0 :(得分:0)

我建议你使用jquery选择器:

$(".menuitem").click(function(){
    $("#try").attr('readonly', false);
    $("#delete").hide();
    alert($(this).text());
});