0

以下摘录调用了一个 php 文件,该文件从数据库中检索一些信息并返回用于更新我的页面的值。在标准浏览器上完美运行,但一旦我在移动设备上尝试它就无法更新。

//function - Retrieve Stats from mysql

$(function(){

    $('.sessionset').on('click', function(e){ 

        //Retrieve Approach details onclick of an Approach button
        $.ajax({
        type: 'POST',
        dataType: 'json',
        url: '../_includes/retrieveStats.php',
        data: {approach: $(this).attr("alt")},
            success: function(data) {
                $("#approach").html("Départ "+data[0]);
                $("#stats").html(data[1]);
                $("#summary-description").html(data[2]);

            }
        });
    }); 
 //End function - Retrieve Stats from mysql
});

RetrieveStats.php 使用

echo json_encode(array($approachDisplayName, $approachStats, $summary));

返回所需的值。

我是 ajax 的相对新手,因此非常感谢任何想法或评论。

4

1 回答 1

0

好的,为将来使用魔术变焦可能会遇到此问题的任何人想通了。

问题是……当我点击手机上的按钮时,它没有注册点击事件!但是,当我将手指放在按钮上大约一秒钟时,它会记录点击。

我的按钮是根据检索到的记录数添加的,并使用以下 php 存储在一个数组中,以创建我的链接,其样式为 MagicZoom 插件所需的按钮。

echo "<a 
    data-zoom-id=\"climbprofile\" 
    href=\"" . $pathZoomFolder . $arrayApproaches[$x] . "-zoom.jpg\" 
    data-image=\"" . $pathMainFolder . $arrayApproaches[$x] . "-main.jpg\" 
    type=\"button\"
    class=\"sessionset btn btn-default btn-xs \">
    <h5>Button Text</h5></a>";   

通过将以下内容添加到<a>其中,快速点击即可正常工作。

ontouchstart=\"$(this).trigger('click');\" 

最终的代码片段如下所示。ontouchstart 触发现在在手机、平板电脑和桌面上工作的 .sessionset 类的点击事件。

echo "<a ontouchstart=\"$(this).trigger('click');\" 
    data-zoom-id=\"climbprofile\" 
    href=\"" . $pathZoomFolder . $arrayApproaches[$x] . "-zoom.jpg\" 
    data-image=\"" . $pathMainFolder . $arrayApproaches[$x] . "-main.jpg\" 
    type=\"button\"
    class=\"sessionset btn btn-default btn-xs \">
    <h5>Button Text</h5></a>";  
于 2016-10-16T21:07:19.987 回答