Javascript 从Scala.JS访问JS
我正在尝试将此代码从js库文档转换为scala.s:Javascript 从Scala.JS访问JS,javascript,scala,scala.js,Javascript,Scala,Scala.js,我正在尝试将此代码从js库文档转换为scala.s: $('#myTable').on( 'click', 'tbody td', function () { editor.inline( this, { submitOnBlur: true } ); } ); 我试过的代码: $("#table").on("click", ".editable", (thiz: js.Dynamic) => { editor.inline(thiz, JC(
$('#myTable').on( 'click', 'tbody td', function () {
editor.inline( this, {
submitOnBlur: true
} );
} );
我试过的代码:
$("#table").on("click", ".editable", (thiz: js.Dynamic) => {
editor.inline(thiz, JC(
submitOnBlur = true
))
})
但它给了我一个错误:
无法读取f.inline处未定义的属性“contents”
您编写的回调函数,即
(thiz:js.Dynamic)=>{
editor.inline(thiz,JC(
亚色调模糊=真
))
}
是1个参数的函数(恰巧被称为thiz
),而不是将此
作为参数接收的函数。换句话说,它相当于JS中的以下内容:
function(thiz) {
editor.inline(thiz, JC(...))
}
要访问this
,需要强制回调函数为js.ThisFunction
,如下所示:
((thiz:js.Dynamic)=>{
editor.inline(thiz,JC(
亚色调模糊=真
))
}):js.this函数
这将获取Scala lambda的第一个参数(在本例中,是唯一的一个),并将其附加到JavaScript的
This
值,这就是您想要的。您在jQuery中使用的facade库是什么?i、 例如,您的构建/源代码中的依赖项首先为您提供了$
。@sjrd i have“be.doeraene”%”scalajs-jquery_sjs0.6_2.12”%”0.9.2“