Coffeescription出现奇怪问题-文本参数发送为null

Bizarre issue with Coffeescript - Literal argument send as null

本文关键字:参数 null 文本 问题 Coffeescription      更新时间:2023-09-26

好的,这是我的Coffeescrapt:的大纲

(($) ->
    class MyClass 
        MyFunction: (someArg)->
             @iframe().find("[id]").click((e)=>
                window.objc.log_("SOMETHING");
             );
) jQuery

对于那些想知道的人来说,objc是声明log_的Objective-C对象。问题是is调用的函数。但是,即使我使用字面意义上的字符串(如示例中所示),它也是null

如果我从(($)-> ...) jQuery块之外调用完全相同的函数,它工作得很好。

怎么回事?


p.S.这是我之前发布的相关问题,但我看得越多,就越倾向于认为它与JavaScript相关,而不是与Objective-C相关。。。

看起来你在iframe中的元素上放置了一个点击处理程序。那么外部的窗口对象与iframe中的窗口对象不同。当点击发生时,作用域就是iframe。

外部见小提琴:http://jsfiddle.net/6fzvkcte/1/它有一个iframe和另一把小提琴。您可以看到window.document.body.children.length变量的值不同。

window.document.body.children.length

但是,将父窗口中的单击处理程序绑定到iframe中的元素有点可怕。这样你也可以绑定到keydown并窃取我的密码和金钱。正如你所看到的,它没有任何作用(至少在Chrome中)。