如何获取光标:嵌入对象上的指针?

Posted

技术标签:

【中文标题】如何获取光标:嵌入对象上的指针?【英文标题】:how do I get cursor:pointer on an embedded object? 【发布时间】:2011-08-26 13:20:57 【问题描述】:

1) 我试图在嵌入对象上放置透明图像。我在某处缺少相对和绝对的位置。但是在哪里?

我实际上是在放置透明图像,因为我不能使用cursor:pointer 来嵌入对象。所以我的想法是放置一个透明图像并使用cursor:pointer

2) 为什么onclick 在IE 中不起作用?它在 Firefox 和 Chrome 中运行良好。

<div id="divmarquee" runat="server" >
     <img id="imgtrans" runat="server" src= "/images/480x75-blank-transparent" title="Click Here" style="position:relative" />
           <object   onclick="window.location='http://www.google.com'; return false;">
                 <embed src="merchant_images/The_Marquee_Dealn.swf" type="application/x-shockwave-flash" style="z-index: 0; cursor:pointer" wmode="transparent"  > 
                 </embed>
            </object> 
  </div>

提前致谢!

【问题讨论】:

一个更尖锐的问题是“我如何获得光标:嵌入对象上的指针” 【参考方案1】:

cursor: pointer 将在您将对象包装在 html 超链接中时起作用。

【讨论】:

我确实尝试过,但它不起作用。 :( 你知道的其他方法吗? 你试过删除z-index并使用标签吗,因为IE总是有z-index的问题 如果您为锚点设置了 href,这将起作用。从 onclick 处理程序中防止默认/返回 false 是一个好主意,以确保链接不会尝试导航【参考方案2】:

在上面的代码中,您添加了 cursor: 指向嵌入标签的指针。请尝试将其移至图像标签。

【讨论】:

【参考方案3】:

不要使用&lt;img&gt;,使用&lt;div&gt; 并确保它扩展到对象的宽度和高度。

【讨论】:

【参考方案4】:

使用您给定的代码,将位置值添加到#divmarquee 上的position: relative,并将位置更改为position: absolute 并在#imgtrans 上添加cursor: pointer

#divmarquee  position: relative; 
#imgtrans  position: absolute; cursor: pointer; 

请看这里:http://jsfiddle.net/blineberry/pJZ2t/

【讨论】:

【参考方案5】:

将光标:指针样式应​​用于 divmarquee。

【讨论】:

【参考方案6】:

对于您的 onclick 问题,请尝试以下方法:

先试试

onclick = function()window.location='http://www.google.com';return false;

然后尝试将其更改为:

onclick = window.location.href='somesite'

你也可以试试:

onclick = document.location='somesite'

如果这不起作用,请尝试:

var el = document.getElementById("imgtrans").firstChild;
if (el.addEventListener)
  el.addEventListener(
      'click', 
      function()
               window.location='http://www.google.com';
               return false;,
      false); //Decent Browsers
        
else if (el.attachEvent)
      el.attachEvent(
          'onclick',
          function()
               window.location='http://www.google.com';
               return false;
          
      ); 
//IE

其中一个会起作用

【讨论】:

【参考方案7】:
<div id="divmarquee" runat="server" style="z-index: 1; position:relative; cursor:pointer">   
 <div style="z-index: 0; position:relative">
<object   onclick="window.location='http://www.google.com'; return false;">
<embed src="merchant_images/The_Marquee_Dealn.swf" type="application/x-shockwave-flash" wmode="transparent"  >
</embed>
</object>
</div>
</div>

【讨论】:

以上是关于如何获取光标:嵌入对象上的指针?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取 QTableWidget 光标下的行

如何获取表单上的光标位置?

在 iText 7 中编写文档时如何获取垂直光标位置?

如何获取在 C++ 中排序后保留的列表元素的指针

如何获取光标在指定窗口内的具体位置

CSS:如何使光标成为输入文件上的指针?