javascript – Probleme mit der Eingabepositionierung im js-Frontend des WeChat-Applets
天蓬老师
天蓬老师 2017-05-19 10:11:40
0
3
721

1. Ich habe ein WeChat-Applet geschrieben, ein Sudoku-Spiel, um anhand der eingegebenen Zahl festzustellen, ob es die Anforderungen (Sudoku-Regeln) erfüllt. Ich bin jedoch auf ein Problem gestoßen, wie ich die Position der vom Benutzer eingegebenen Zahl finden kann. Da es basierend auf der Position verschoben werden muss, werden die Daten an die entsprechende Skriptdatei übergeben, um festzustellen, ob die Regeln eingehalten werden. Da ich jedoch nicht sehr bewandert in js bin, kann ich das Positionierungsproblem nicht lösen.

  1. <view class="page-body">

    <view class="bc" wx:for="{{numbers}}" wx:for-item="row" >
        <view wx:for="{{row}}" class="bc_ bc_{{item}}" bindtap="oninput"> 
          <input wx:if="{{item == 0}}" auto-focus wxkey="*this" maxlength="1" value="" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')" type="number" style="color:#000000" bindinput="EventHandle"/>
          <view wx:else>{{item}}</view>
        </view>
    </view>

    </view>

Wobei Zahlen ein Array in der Skriptdatei sind und der Stil mithilfe von zwei Schleifen implementiert wird.
Es wird bestimmt, ob jede Zahl Null ist (das Array, das wir zu Beginn manuell geschrieben haben, 0 steht für Benutzereingaben). Wenn es Null ist, werden hier keine Zeichen (Strings) angezeigt.


Hier ist der Front-End-Anzeigecode und der Anzeigeeffekt, in den Benutzer Zahlen eingeben können, aber ich weiß nicht, wie ich herausfinden kann, wo der Benutzer die Zahlen eingegeben hat mir eine Anleitung.

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

Antworte allen(3)
我想大声告诉你

说一下我的思路,仅供参考:
每个小方格作为一个对象,拥有x和y属性,表示第x行的第y个方格,通过外部p盒子的大小,计算每个小方格的大小,进而可以知道每个小方格的区域范围,用户点击时,获取点击点的坐标,计算落在哪个小方格里面。
总之,就是一个数学计算问题

洪涛

思路:
每个方格具有 data-x='??' 和 data-y='??' 属性,用户点击的时候就可以获取到 x 和 y,然后进行后续计算和判断。

滿天的星座

微信小程序中的event对象是经过处理的,里面含有input的value属性。
微信小程序 - 事件

具体说下我的思路:
微信小程序的event中可以存储元素设置的额外数据,例如你在dom中写入data-x的属性,那么就可以用event.target.dataset.x取出来。
如果是表单元素的话,例如input的value,则是存在event.detail.value中。
你可以给input监听一个事件,然后给元素写上data-x,data-y的属性,属性的值为numbers和row的下标(也就是index,为了避免混淆,要用wx:for-index="XXX"给两个下标别名),通过下标值确定用户点击的位置,然后存储在数组的相应位置中。

array[x][y].push(event.detail.value)
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!