摘要:当我尝试提供onsubmit
或onreset
回调给Jeditable时,我得到Object [function] has no method 'apply'
错误。向Jeditable提供回调
我是如何到达这里的:我一直致力于a rails plugin to supply Jeditable and jWYSIWYG的在地所见即所得的编辑。开发是由我正在研究的一个Rails项目驱动的,它要求特定的功能。
我添加的一个选项是能够按照this answer中建议的模式,使用按钮而不是点击可编辑文本本身来触发Jeditable的编辑模式。下一步,是在编辑模式下隐藏按钮,并在离开编辑模式时再次显示。
皮很容易;我只在触发功能中添加了一行,它将.toggle()
发送到按钮。显示更棘手。我想我需要.toggle()
再次提交或取消,并可以帮助Jeditable优惠onsubmit
和onreset
回调。
但是,当我尝试使用这些回调函数时,我得到这个Object [something] has no method 'apply'
错误。
我试图:因为这是在Rails帮手的情况下,实际的机制是比这个稍微复杂些,但结果是,我试图按照this pattern,递给Jeditable这在ARGS:
"onsubmit":"showTrigger",
,然后包括这个脚本:
function showTrigger(settings, original) {
$(".edit_trigger[id='element_id']").toggle();
}
然而,在提交更改或取消的编辑,我得到的错误
Object showTrigger has no method 'apply'
......如上所述。
我也试过在一个函数直接发送为"onsubmit"
参数(即"onsubmit": "function(settings, original){$(\".edit_trigger[id='element_id']\").toggle();}"
然后我只是得到Object function(settings, original){$(\".edit_trigger[id='element_id']\").toggle();} has no method 'apply'
代替。
一定有什么毛病我怎么交给在这个回调。任何想法?
ETA:This answer向我暗示,当我期望一个函数时,我会提供一个字符串给Jeditable。但是,因为我在Rails帮助程序的上下文中工作,所以我并不确定如何解决方法 - "showTrigger"
位在助手中设置为Ruby变量,虽然window.showTrigger()
已定义当窗口加载时,我不知道如何在Ruby变量中指定该函数,以便在页面加载时将其识别为函数。