jQuery/javascript对象传递

jQuery/javascript对象传递,javascript,jquery,Javascript,Jquery,到目前为止,我还没有在javascript方面做很多工作。我最近开始使用jQuery,并遇到了一个关于如何处理表单的教程 如果您在函数中硬编码容器div的id,那么生成的代码就可以完美地工作,但是对于传递给函数的id,我在泛化它时遇到了问题 代码是这样开始的: $(document).ready(function() { setClickable($('#editInPlace')); }); function setClickable(target) { $(target).

到目前为止,我还没有在javascript方面做很多工作。我最近开始使用jQuery,并遇到了一个关于如何处理表单的教程

如果您在函数中硬编码容器div的id,那么生成的代码就可以完美地工作,但是对于传递给函数的id,我在泛化它时遇到了问题

代码是这样开始的:

$(document).ready(function() {
    setClickable($('#editInPlace'));
});

function setClickable(target)
{
    $(target).click
    (
        function()
        {
            //Do some dom manipulation

            $('.buttonA').click(function() { saveChanges(this, false); });
            $('.buttonB').click(function() { saveChanges(this, true); });
        }
    )

    .mouseover(function() { $(this).addClass("editable"); })
    .mouseout(function() { $(this).removeClass("editable"); });
}; //end of function setClickable

function saveChanges(obj, cancel)
{
    //Handle the save changes code

    //Reset the div
    $(obj).parent().after('<div id="editInPlace">' + t + '</div>').remove();

    //Call setClickable
    setClickable($('#editInPlace'));
}
并从setClickable方法传入目标对象:

$('.buttonB').click(function() { saveChanges(target, this, true); });
召唤

setClickable(target);
似乎不起作用,我也不知道为什么。

改变:

function setClickable(target)
{
    $(target).click
    (
致:

您将传入一个包装集(也称为jQuery对象),然后将其包装到另一个包装集中。上述修正了这一点。另一种方法是:

$(document).ready(function() {
    setClickable('editInPlace');
});

function setClickable(id)
{
    $("#" + id).click
    (

你明白我的意思了吗?

你可以尝试使用setClickable($(target));确保您有一个jQuery对象。

您可能需要查看Jeditable插件或可编辑插件。
function setClickable(target)
{
    target.click
    (
$(document).ready(function() {
    setClickable('editInPlace');
});

function setClickable(id)
{
    $("#" + id).click
    (