让.click()在不同版本的Firefox中工作?

时间:2012-02-07 18:58:58

标签: javascript-events

我遇到了一个问题,我正在帮助我的前端开发人员更改政府公共网站上的设计,这限制了我们某些浏览器和技术,因为这里的最高级别的Firefox是3.6,但是你可以在9或10日看一下它。

首先,我无法使用“.click()”来使用我的javascript中的“暂停/播放”按钮进行我们在Firefox中实现的幻灯片演示。在这个网站上搜索了很多问题之后,我能够通过使用“.live('click',function()..”在Firefox 3.6中解决这个问题。我明白“.live”正在出路,但它修复了在这种情况下我们的问题..

但是,当我们在Firefox 9中测试时,这似乎不起作用。

以下img按钮的javascript和代码示例

非常感谢任何建议。

<script type="text/javascript">
    $(document).ready(function () {
        $('.slideshow').cycle({ fx: 'fade', prev: '#btnPrev', next: '#btnNext', timeout: '5000' });
        $('#btnPause').live('click', function () { $('#.slideshow').cycle('pause'); });
        $('#btnPlay').live('click', function () { $('#.slideshow').cycle('resume'); });
    });

</script>

<td align="right">
    <input type="image" src="images/pause.png" id="btnPause" alt="Pause" />
</td>
<td align="left">
    <input type="image" src="images/play.png" id="btnPlay" alt="Play" />
</td>

1 个答案:

答案 0 :(得分:2)

我认为这可能与这些方面有关:

$('#.slideshow')

我想你只是想:

$('.slideshow')

我不确定为什么FF 9会不喜欢它,但它是唯一能让我感到高兴的东西。

如果这不起作用,我会尝试将功能放在按钮的onclick上。

您的示例将如下所示:

<script type="text/javascript">
    $(document).ready(function () {
        $('.slideshow').cycle({ fx: 'fade', prev: '#btnPrev', next: '#btnNext', timeout: '5000' });
    });

</script>

<td align="right">
    <input type="image" src="images/pause.png" onclick="$('.slideshow').cycle('pause');" id="btnPause" alt="Pause" />
</td>
<td align="left">
    <input type="image" src="images/play.png" onclick="$('.slideshow').cycle('resume');" id="btnPlay" alt="Play" />
</td>