1

我有一个带有最近博客文章的图像+文本滑块,它循环浏览最近的文章,而访问者一直在查看某个页面。

您可以在http://jsfiddle.net/GsgPM/16/上查看所有代码。 它是关于不会触发的大图像 + 文本滑块。该事件确实在粉红色按钮上触发。真的不适合我……为什么它适用于一个,而不适用于另一个?

现在,我想在包含黑色边框的 div(slider) 上使用 onclick 事件将人们重定向到正确的博客文章。唯一令人费解的是,click 事件没有触发,光标也没有更改为 css 样式表中定义的正确图像(一只手),但确实添加了 1px 边框。

在测试 div 上,在我的故障代码下方http://jsfiddle.net/GsgPM/16/上的代码中,它确实触发了。在我博客的另一页上,点击事件完全没有问题。

当我在 google chrome 检查元素窗口中查看代码更改时,单击事件确实会在 div 更改上传输。

JSLint 没有显示错误,我的控制台也没有显示任何错误。整个事件根本不会触发。

谁知道这个问题的根本原因是什么?

4

2 回答 2

4

问题是阴影 div。当您单击滑块时,单击会在 id="shadow" 的 div 上注册。尝试删除该 div,然后它就可以工作了。如果您需要该 div,则必须确保它位于滑块 div 下方。

于 2012-07-04T08:24:17.210 回答
0

在您的代码中,您有

onclick="window.alert('Hello Raxacoricofallapatorius'

你错过了一个);所以它会是

onclick="window.alert('Hello Raxacoricofallapatorius');

对点击 img 做出反应的更多 Jquery 方式是使用 on

$('#smallphotos div').on('click','img',function() {
        alert('here');
    });

为了进一步做到这一点,您可以将目标存储在数据属性上,例如

<img src="http://www.freedigitalphotos.net/images/gal_images/av-_50.jpg" title="test2" data-target="www.google.com" />

然后可以像这样重定向您的页面。

 $('#smallphotobox').on('click','#smallphotos div',function() {
    window.location.href=$(this).data('target');
});

另外#slider 是一种方式,您会注意到我将其删除并且一切正常.. 尝试将其 z 索引设置为在其余部分之后。

注意由于限制,这不适用于 jsfiddle。

小提琴

于 2012-07-04T08:12:44.717 回答