3

キーアップによるすべての入力値の変更を検出する関数があります。

Jクエリ:

// detect all inputs

$('.inputChange').each(function() {
   // Save current value of element
   $(this).data('oldVal', $(this).val())

   // Look for changes in the value
   $(this).bind("propertychange keyup input paste", function(event){
      // If value has changed...
      if ($(this).data('oldVal') != $(this).val()) {
       // Updated stored value
       $(this).data('oldVal', $(this).val())
        currentVal = $(this).val()
       // Do action
       inputElement = $(this).attr('data-element')
       inputProperty = $(this).attr('data-property')
       inputUnit = $(this).attr('data-unit')
        updateAllCSS(inputElement, inputProperty, currentVal + inputUnit)
     }
   });
 });

HTML:

    <input class="inputChange" data-element=".homeTemplate #colaAlpha h1" data-property="font-size" data-unit="px">px

この HTML から選択したドロップダウン値を取得する別の操作を行う必要があります。

     <select class="selectChange" data-element=".homeTemplate #colaAlpha" data-property="height" data-unit="px">
         <option value="8">8px</option>
         <option value="12">12px</option>
         <option value="21">21px</option>
     </select>px

私はこれをどのように行うべきか疑問に思っていましたか?おそらく機能するpropertychangeイベントはありますか?

4

2 に答える 2

17

http://api.jquery.com/change/をご覧ください。

$(".selectChange").change(function (){
    alert($(this).val());
});
于 2012-10-16T10:28:48.340 に答える
0

上記の複雑な入力検出コードとは異なり、これは私のページの任意の選択に対して機能する選択コードです。選択された値とデータタグも使用します。

$('.selectChange').change(function() {
    updateAllCSS($(this).attr('data-element'), $(this).attr('data-property'), $(this).val() + $(this).attr('data-unit'))
});
于 2012-10-16T11:01:32.387 に答える