Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在插件函数中调用html数据集_Javascript_Jquery_Jquery Plugins - Fatal编程技术网

Javascript 在插件函数中调用html数据集

Javascript 在插件函数中调用html数据集,javascript,jquery,jquery-plugins,Javascript,Jquery,Jquery Plugins,他们说的恰恰相反: “您可以通过回调中的this关键字访问实际图像节点。” 在一页中。所以我很困惑。任何人都可以提供解决方案?请分享myDrawPlugin定义,以了解如何绑定和处理单击事件 无论如何,这个内部的onComplete回调将引用传递给插件函数的对象(param),因此,如果您希望访问按钮元素数据,那么当您在单击按钮时调用它时,您需要将对应的元素引用传递给onComplete回调 看看这种处理方式是否适合你 $('.draw-sector-button').myDrawPlugin(

他们说的恰恰相反: “您可以通过回调中的this关键字访问实际图像节点。”
在一页中。所以我很困惑。任何人都可以提供解决方案?

请分享myDrawPlugin定义,以了解如何绑定和处理单击事件

无论如何,这个内部的onComplete回调将引用传递给插件函数的对象(param),因此,如果您希望访问按钮元素数据,那么当您在单击按钮时调用它时,您需要将对应的元素引用传递给onComplete回调

看看这种处理方式是否适合你

$('.draw-sector-button').myDrawPlugin({ // my data table generator
    param1 : 'foo',
    param2 : 'bar',
    onComplete : function(result) {
        var i = $(this).data('sector_no'); // (i : undefined)
        $('#section-'+i).html(result.data_table);
    }
});
$.fn.myDrawPlugin=函数(opts){
//按钮点击处理
$(此)。在(“单击”,函数()上){
onComplete(这个,{data_表:“Hello World!”});
});
};
$('.draw扇区按钮').myDrawPlugin({//my data table generator
参数1:‘foo’,
参数2:'酒吧',
onComplete:函数(元素、结果){
变量i=$(元素).data('section_no');
$('#section-'+i).html(result.data_表);
}
});

工作代码段:

好主意:从插件返回元素引用。谢谢,它很有效。我忘了放插件代码,但你猜对了结构$数据('sector_no')获得正确的值,如html属性中所述。在这种情况下,element.data('sector_no')也可以正常工作。
$('.draw-sector-button').myDrawPlugin({ // my data table generator
    param1 : 'foo',
    param2 : 'bar',
    onComplete : function(result) {
        var i = $(this).data('sector_no'); // (i : undefined)
        $('#section-'+i).html(result.data_table);
    }
});
$.fn.myDrawPlugin = function(opts) {
    // Button click handling
    $(this).on("click", function(){
       opts.onComplete(this, {data_table: "<div>Hello World!</div>"});
    });
};

$('.draw-sector-button').myDrawPlugin({ // my data table generator
  param1 : 'foo',
  param2 : 'bar',
  onComplete : function(element, result) {
    var i = $(element).data('sector_no'); 
    $('#section-'+i).html(result.data_table);
  }
});