Javascript iOS jQuery无法更改输入值和;addClass";呼叫失败

Javascript iOS jQuery无法更改输入值和;addClass";呼叫失败,javascript,jquery,ios,iphone,Javascript,Jquery,Ios,Iphone,在iOS(iPhone6和6s)上使用基于jQuery的脚本时,我遇到了一个问题。它在Chrome和Safari中的行为方式相同,但我相信这是因为Chrome实际上是iOS中UIWebView的包装器。无论如何,这是一个简单的“星级”系统。以下是它的代码片段: ;(函数($){ $(文档).on('click',').star rating input.star',function(){ var self=$(这是); var评级=自身数据(“评级”); self.addClass('sele

在iOS(iPhone6和6s)上使用基于jQuery的脚本时,我遇到了一个问题。它在Chrome和Safari中的行为方式相同,但我相信这是因为Chrome实际上是iOS中UIWebView的包装器。无论如何,这是一个简单的“星级”系统。以下是它的代码片段:

;(函数($){
$(文档).on('click',').star rating input.star',function(){
var self=$(这是);
var评级=自身数据(“评级”);
self.addClass('selected');
self.sibbins('.star').removeClass('selected');
self.sides('input[type=“hidden”]”)val(评级);
});
})(jQuery)
//这与此无关,唯一需要知道的是.selected&:focus类使用:before伪选择器生成所有先前的.star span更改表示,并且它可以在包括WP IE在内的所有其他浏览器上工作。

我对此不太确定。但我认为您正面临这个问题,因为您试图检测对非锚元素的点击(在本例中为
)。尝试添加以下CSS并在iOS上检查:

.star{
    cursor:pointer;
}

我对此不完全确定。但我认为您正面临这个问题,因为您试图检测对非锚元素的点击(在本例中为
)。尝试添加以下CSS并在iOS上检查:

.star{
    cursor:pointer;
}
而不是

var rating = self.data('rating');
试一试

看看这行之后的函数是如何无法执行的,也许.data在iOS中并不真正受支持。值得一试

编辑:.data在iOS中工作,如前所述,单击事件没有正确触发。

而不是

var rating = self.data('rating');
试一试

看看这行之后的函数是如何无法执行的,也许.data在iOS中并不真正受支持。值得一试


编辑:在iOS中,.data确实有效,正如前面提到的,点击事件没有正常启动。

我只是不相信它会起作用,但还是尝试了,令人惊讶-它起作用了。我只是不相信它会起作用,但还是尝试了,令人惊讶-它起作用了。对不起,我没有尝试你的解决方案,因为标记为correct的方法有效,这也意味着iOSWell支持.data(),在我发帖时,您在该解决方案下的评论是它没有任何区别,所以我假设您已经尝试过了。因此,我假设点击事件是由.attr触发的。数据有时不如.attr可靠。我明白了,很抱歉,我在意识到我一直在测试旧版本而没有进行更改后,立即删除了此评论!很抱歉给你带来了困惑。事实上,它是有效的,我还将您的答案标记为有用的,因为这会得出结论,即.data()确实可以在iOS上工作(也许您可以将其作为编辑添加到您的答案中,以使其明确)。很抱歉,我没有尝试您的解决方案,因为标记为正确的解决方案有效,这也意味着.data()受iOSWell支持,在我发帖的时候,你在这个解决方案下的评论是,这没有什么区别,所以我假设你试过了。因此,我假设点击事件是由.attr触发的。数据有时不如.attr可靠。我明白了,很抱歉,我在意识到我一直在测试旧版本而没有进行更改后,立即删除了此评论!很抱歉给你带来了困惑。事实上,它是有效的,我还将您的答案标记为有用的,因为它得出结论,.data()确实可以在iOS上工作(也许您可以将其作为编辑添加到您的答案中,使其明确)。