2

ボタンを押すことで値が入力されているかどうかをチェックする機能があります。すべてが完了していない場合は、ボタンのhrefをキャンセルしたいと思います。

私はこれを試しました:

<a href="XXX.html"  data-role="button" data-transition="none"
                data-theme="b" onclick="Check(); return false;" data-icon="forward" data-iconpos="left">
            </a>

また、関数からfalseを返そうとしました。

どちらの方法も機能しません!

hrefをキャンセルする別の方法はどれですか?

私はこれらのことを試しました:

function Check(event) {

    if (Testing the values ​​filled) {
     //Do something
    }
    else {
//One of the two following lines
        event.preventDefault();
        $("#xxx .ui-btn").unbind('click');
    }

}

それらのものが機能しない場合でも、彼は他の場所に来ますが、それはhrefをキャンセルしません

4

4 に答える 4

2

event.preventDefault()を使用する必要があります。

ライブデモ

jqueryを使用してイベントをバインドする

$('a[data-role=button]').click(Check);

Javascript関数

function Check(event)
{
   //Your code
   if(condition) // some condition if required.
     event.preventDefault()
}
于 2012-12-05T06:38:36.377 に答える
1

使用できますunbind

function Check(){
   if(condition){
      $('a[data-role=button]').unbind('click');
   }
}
于 2012-12-05T06:52:54.513 に答える
1

unbindイベントの代わりにdie()イベントを使用することもできます。

function Check(){
  if(condition){
      $('a[data-role=button]').die('click');
  }
}
于 2012-12-05T07:05:51.820 に答える
0

私は次のように問題を解決しました:

function Check() {
  if (Testing the values ​​filled) {
   //Do something
  }
  else {
   $("#xxx .ui-btn").attr('href', "javascript:void(0)");
  }

助けてくれてありがとう

于 2012-12-05T07:08:46.657 に答える