Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 函数get调用多次_Jquery_Jquery Ui_Jquery Mobile_Cordova - Fatal编程技术网

Jquery 函数get调用多次

Jquery 函数get调用多次,jquery,jquery-ui,jquery-mobile,cordova,Jquery,Jquery Ui,Jquery Mobile,Cordova,大家好,我假设我的移动应用程序中有两个html文件,分别是page1.html和page2.html。在page2.html中,我有一个表,在单击该行时,我显示了一个警报。若假设我从page1转到page2.html,那个么点击表格就会显示一次警报框。若我按下“后退”按钮,那个么它将转到page1.html。若我再次转到page2.html,点击表格行,那个么这次警报显示2次。如果我在第1页再次返回,在第2.html页再次返回,那么这次在单击行时,它会显示警报3次,以此类推 我的page2.ht

大家好,我假设我的移动应用程序中有两个html文件,分别是page1.html和page2.html。在page2.html中,我有一个表,在单击该行时,我显示了一个警报。若假设我从page1转到page2.html,那个么点击表格就会显示一次警报框。若我按下“后退”按钮,那个么它将转到page1.html。若我再次转到page2.html,点击表格行,那个么这次警报显示2次。如果我在第1页再次返回,在第2.html页再次返回,那么这次在单击行时,它会显示警报3次,以此类推

我的page2.html表格如下所示:

<div id="myTable"  align="center"  data-theme="b"></div>
        <script type="text/javascript"> 

var theader = '<table border="1" id=\"tableId\">\n';

                    var colheader = '<tr id="headingtab" bgcolor="#D68B8B"><th>Name</th><th>Address</th><th>City</th><th>LTP</th><th>State</th><th>Country</th><th>Mob No</th></tr>\n';
                    tbody = colheader; 


                    tbody += '<td>';
                        tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>';

                        tbody += '<td>';
                       tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>'

                        tbody += '<td>';
                        tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>'

                        tbody += '<td>';
                       tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>'

                        tbody += '<td>';
                        tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>'

                        tbody += '<td>';
                        tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>'

                        tbody += '<td>';
                        tbody += "QQQQQQQQQQQQQQQQQQQQQ";
                        tbody += '</td>'                             


                        tbody += '</tr>\n';

                        var tfooter = '</table>';
                        document.getElementById('myTable').innerHTML = theader + tbody + tfooter;

                        </script>


 <script type="text/javascript">


            $("#tableId tr td").live("click",function()
            {    
                console.log("??????????????????????????????");

                alert("Row Click");

            });


    </script>
    </div>

变量theader='\n';
var colheader='nameAddressCitylTPStateContryMob No\n';
tbody=冷头;
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+='';
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+=''
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+=''
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+=''
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+=''
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+=''
tbody+='';
t车身+=“QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ;
tbody+=''
tbody+='\n';
var tfooter='';
document.getElementById('myTable').innerHTML=theader+tbody+tfooter;
$(“#tableId tr td”).live(“单击”,函数()
{    
console.log(“?????????????????????????”;
警报(“行单击”);
});
我只希望每次单击时显示一次警报。怎么做?任何帮助都将不胜感激。提前谢谢。

试试这个

  $("#tableId tr td").click(function()
        {    
            console.log("??????????????????????????????");

            alert("Row Click");

        });
编辑

使用jquery函数


这可能会帮助您

由于每次加载page2.html时都会绑定事件处理程序,因此会出现问题。我猜这个页面是用Ajax加载的?这意味着每次加载页面时都会添加事件处理程序,而且由于它是Ajax,JavaScript事件处理程序仍然存在。事件处理程序将一直存在,直到您自己将其删除以完成页面重新加载

最好的解决方案是只在基本页面(执行所有ajax加载的页面)中添加一次事件处理程序

另一种解决方案是首先解除旧事件处理程序的绑定,然后添加新的事件处理程序

$("#tableId tr td").unbind('click').live('click'.....
更好的方法是使用jQuery的delegator方法:

$("#tableId").die('click', 'tr td').live('click', 'tr td'.....

如果我使用
e.stopImmediatePropagation()作为:

$("#tableId").die('click', 'tr td').live('click', 'tr td', function (){
            alert ("Click");
            e.stopImmediatePropagation();

            }); 
然后它给出了正确的结果,但是如果我使用'e.stopPropagation();那就不管用了


顺便说一句,感谢弗雷德里克、阿什瓦德·辛格、阿琼·特拉伊的时间和回应。如有其他建议,将不胜感激。谢谢。

谢谢您的回复,但使用$(“#tableId tr td”)。单击(函数(),它不会显示警报(甚至不会显示单个警报)。查看Fidle。这不是你想要的吗?是的,你的代码在Fidle上工作,但在移动模拟器上不工作。如果我使用我的原始代码,那么它也在Fidle上工作,但在移动模拟器上不工作。我在最后一行看到一个额外的关闭标记。它没有任何开始标记。这是导致问题的原因吗?实际上它是主div,实际上不是额外的我没有在这里给出整个html页面(意味着该div的开始)。如果我使用$(“#tableId”).off('click','tr td').on('click',function(){alert('click')),function(){alert('click')),那么它不会显示任何警报。您需要
。on('click','tr td',function(){alert('click');});
我也尝试过。on('click','tr td',function(){alert('click');});但它不起作用,它没有显示警报。只有$(“#tableId”).live('click'、'tr td',function()起作用,但与多个警报框的问题相同。感谢您的响应,这里使用$(“#tableId”).die('click'、'tr td')。live('click'、'tr td',function(){alert(“Cliasck”);});它现在显示警报,但仍然存在多个警报问题。感谢您的响应,但使用$(#tableId tr td)。一个(“单击”,函数()警报不显示。
$("#tableId").die('click', 'tr td').live('click', 'tr td', function (){
            alert ("Click");
            e.stopImmediatePropagation();

            });