我需要在背景图像中单击一个区域以生成一个JavaScript使用的事件.所以,我创建了一个锚标签,在里面我插入了一些语义无意义的标签之间的相关文本然后我隐藏了:
<a href="#"><i>foo</i></a>
Run Code Online (Sandbox Code Playgroud)
然后我给了锚标签'display:block'属性,宽度和高度值,并且绝对定位在我需要它与背景图像相关的位置.在Firefox中这很好用 - 我将鼠标悬停在上面,我的光标按预期变化 - 我有点可点击的东西.但是,IE7不喜欢锚标记为"空"的事实,因此不会将其视为可点击.所以我把它添加到css中的锚标签:
background:url(/no-image.jpg);
Run Code Online (Sandbox Code Playgroud)
...这似乎愚弄IE7,假设有东西存在.IE7现在将该区域视为可点击,即使锚标签实际上不存在背景图像.但这对我来说似乎有些黑客,我想知道是否有一种更优雅的方式来解决这个问题.任何想法将不胜感激.谢谢.
html css internet-explorer cross-browser internet-explorer-7
我正在尝试将模型属性传递给视图,之后成功地将其设置为控制器中的操作内的新值.但是这个变量在到达视图时总是为零,所以我不能用它来有条件地显示东西.我应该补充一点,这个属性不是数据库中的一个字段.我错过了什么/做错了什么?
这是我模型中的代码:
attr_accessor :mode
#getter
def mode
@mode
end
#setter
def mode=(val)
@mode = val
end
Run Code Online (Sandbox Code Playgroud)
......在控制器中:
@report.mode = "t"
redirect_to edit_report_path(@report)
Run Code Online (Sandbox Code Playgroud)
......在我看来:
<%= build_report(@report.mode) %>
Run Code Online (Sandbox Code Playgroud)
...但是这个辅助方法永远不会得到我刚刚在控制器中设置的变量.这是零.是什么赋予了?显然我在这里缺少一些基本的东西,因为这看起来应该是直截了当的.任何见解将不胜感激.谢谢.
我已经在SO上研究了类似的问题,但是没有找到解决我问题的方法......我已经建立了一条快速路线来提供图像,但是我不能让它从存储的位置返回图像.注意我已经包含了一个声明,允许来自任何来源的请求.会发生的是,当我向http://localhost:8080/images/x10.png响应发出请求时,我得到的是一个空的图像元素src="http://localhost:8080/images/x10.png而不是from http://ubuntubox.dev/images/x10.png,这是图像实际所在的位置,并且是我最终传递给请求方法的路径.我错过了什么?谢谢.
app.get('/images/*', function(req, res, path){
var imagePath = req.url,
url = 'http://ubuntubox.dev' + imagePath;
request(url, function(error, response, img) {
if(!error && response.statusCode === 200) {
res.header('Access-Control-Allow-Origin', '*');
res.writeHead(200, {'Content-Type': 'image/png' });
res.end(img, 'binary');
} else if(response.statusCode === 404) {
res.status(404);
res.type('txt').send('oops');
}
});
}).listen(8080, '127.0.0.1');
Run Code Online (Sandbox Code Playgroud) 我有一个精灵图像设置为我页面上元素的背景,但是如何找到正确的偏移量以便我可以在屏幕上看到它?