jquery/javascript 多单击函数将按编码顺序工作

jquery/javascript Multiple Click functions will work in order they are coded

本文关键字:编码 顺序 工作 函数 javascript 单击 jquery      更新时间:2023-09-26

所以我有一个主div和3个较小的div在它的右侧,每个div包含一个图像。我的目标是,当单击其中一个较小的div 图像时,它会更改主div 中的内容。我可以做到这一点,但除非先单击第一个div,否则第二个和第三个div 将无法工作。单击第一个div 后,所有div 都将工作。

<script type="text/javascript" language="javascript">
$(document).ready(function() { /// Wait till page is loaded
    $('#divright1').click(function(){
        $('#divmainleft').load('sidechange1.php #content', function() {
            $('#divright2').click(function(){
                $('#divmainleft').load('sidechange2.php #content', function() {
                    $('#divright3').click(function(){
                        $('#divmainleft').load('sidechange3.php #content', function() {
                            /// can add another function here

提前谢谢。

好的,所以更改了代码...为什么这不起作用?

<script type="text/javascript" language="javascript">
$(document).ready(function() { /// Wait till page is loaded
    $('#divright1').click(function(){
        $('#divmainleft').load('sidechange1.php #content', function() })
    $('#divright2').click(function(){
        $('#divmainleft').load('sidechange2.php #content', function() })
    $('#divright3').click(function(){
        $('#divmainleft').load('sidechange3.php #content', function() })
/// can add another function here
}); //// End of Wait till page is loaded
</script>

发生这种情况是因为您在第一个div的单击函数中为第二个和第三个div定义了单击函数,这就是为什么如果单击第一个div,那么只有第二个和第三个div的单击函数将起作用。

你有语法错误。用下面的代码填写空白。您需要关闭每个点击事件,并在点击事件的回调中找出加载方法。

$(document).ready(function(){
    //click event and load for div 1
    $('#div1').click(function(){
        $('#mainleft').load('script.php', '#content');
    });
   //click event and load for div 2
    $('#div2').click(function(){
        $('#mainleft2').load('script.php', '#content');
    });
});