我想确保用户希望通过鼠标悬停在div上弹出一些东西.我不希望用户在没有意图的情况下意外触发弹出的内容.setTimeout不起作用,因为即使它非常短暂,弹出窗口仍然会弹出,它只是延迟了.我想要的是用户将鼠标悬停1秒以便弹出显示.
**更新:
当我这样做:
<div onmouseover="myTimer=setTimeout('display(this)', 5000);">
Run Code Online (Sandbox Code Playgroud)
计时器工作,它在5秒后显示,但this没有通过,我无法通过$(element).next()等等获取元素.当我这样做时:
<div onmouseover="myTimer=setTimeout(display(this), 5000);">
Run Code Online (Sandbox Code Playgroud)
计时器不起作用.有什么不对,怎样才能得到计时器并this通过?
谢谢!
**update2:这里的this问题表明:"setTimeout()执行的代码在一个单独的执行上下文中运行,调用它的函数.因此,被调用函数的this关键字将被设置为窗口(或全局)对象,它与调用setTimeout的函数的this值不同."
我发现克服这个答案在这里,你必须"的引用保存到其中setTimeout函数调用的上下文"
我在python中定义了一个字典:
tal:define="dic python:{'a':'1', 'b':'2'};"
Run Code Online (Sandbox Code Playgroud)
我有另一个使用tal:define名为var 定义的变量,它是'a'或'b'.我尝试这样做时出错:
tal:define="foo python:dic['${var}'];"
Run Code Online (Sandbox Code Playgroud)
(foo那么'1'或'2')我明白了KeyError: '${var}'.我试过了dic[$var],dic[var]等等,他们都没有用.如何使用先前定义的变量tal:define作为字典的键来获取其值.
我对py文件中的i18n翻译感到有点困惑.我有一个字符串,其中需要翻译的内容已经存在于plone.pot中的plone域中,因此我想指定仅为该翻译指定域的域名.当我执行以下操作时,出现错误.并且,这确实在页面模板中呈现,因此不需要调用translate函数,这是正确的吗?
raise ValueError(_(u'Some string', domain='plone'))
TypeError: __call__() got an unexpected keyword argument 'domain'
Run Code Online (Sandbox Code Playgroud)
该怎么做?非常感谢!