将脚本从模糊更改为单击

时间:2014-12-20 12:41:13

标签: jquery

当我点击一个div时它会聚焦并且我改变了内容,一旦我完成更改并想要保存,我点击聚焦div以外的任何地方,div变得没有聚焦并使用以下jquery保存。

editables.on('blur',function(){
        var current_element = $(this);

        var data = {
            page_id : current_element.data("page-id"),
            field_name: current_element.data("field-name"),
            data: current_element.html()
        };
});

我想将功能更改为单击但我只能在焦点div外部单击并再次单击它时才能使其工作,我希望它使用专用的保存按钮进行保存。这是我到目前为止所尝试的内容

editables.on('click',function(){
        var current_element = $(this);

        var data = {
            page_id : current_element.data("page-id"),
            field_name: current_element.data("field-name"),
            data: current_element.html()
        };
});

由于

2 个答案:

答案 0 :(得分:1)

您需要在button上绑定点击事件,而不是editables

button.on('click', function () {
    editables.each(function() {
        var data = {
            page_id: $(this).data("page-id"),
            field_name: $(this).data("field-name"),
            data: $(this).html()
        };
    });
});

button类似于$('#button')的情况。

答案 1 :(得分:1)

您可以使用自定义事件,并在单击按钮时调用它。

editables.on('save-editable',function(){
        var current_element = $(this);

        var data = {
            page_id : current_element.data("page-id"),
            field_name: current_element.data("field-name"),
            data: current_element.html()
        };
});

$('#button1').click(function(){
   editables.trigger('save-editable');
});