Heim  >  Artikel  >  Web-Frontend  >  Beispiele zur Erläuterung, wie jQuery die bidirektionale HTML-Bindungsfunktion implementiert

Beispiele zur Erläuterung, wie jQuery die bidirektionale HTML-Bindungsfunktion implementiert

小云云
小云云Original
2017-12-27 09:19:191906Durchsuche

In diesem Artikel wird hauptsächlich die bidirektionale Bindungsfunktion von jQuery zur Implementierung von HTML vorgestellt und die damit verbundenen Betriebsfähigkeiten von jQuery für die Ereignisbindung von HTML-Seitenelementen behandelt. Ich hoffe, es kann jedem helfen .

Das Beispiel in diesem Artikel beschreibt, wie jQuery die bidirektionale Bindungsfunktion von HTML implementiert. Teilen Sie es wie folgt mit allen als Referenz:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.9.1.js"></script>
<script>
var user = new User(&#39;123&#39;);
$(function(){
user.set( "name", "99" );
});
 function GetData() {
  alert(user.attributes.name);
 }
function DataBinder( object_id ) {
 var pubSub = jQuery({});
 var data_attr = "bind-" + object_id,
   message = object_id + ":change";
 jQuery( document ).on( "change", "[data-" + data_attr + "]", function( evt ) {
  var $input = jQuery( this );
  pubSub.trigger( message, [ $input.data( data_attr ), $input.val() ] );
 });
 pubSub.on( message, function( evt, prop_name, new_val ) {
  jQuery( "[data-" + data_attr + "=" + prop_name + "]" ).each( function() {
   var $bound = jQuery( this );
   if ( $bound.is("input, textarea, select") ) {
    $bound.val( new_val );
   } else {
    $bound.html( new_val );
   }
  });
 });
 return pubSub;
}
function User( uid ) {
 var binder = new DataBinder( uid ),
   user = {
    attributes: {},
    set: function( attr_name, val ) {
     this.attributes[ attr_name ] = val;
     binder.trigger( uid + ":change", [ attr_name, val, this ] );
    },
    get: function( attr_name ) {
     return this.attributes[ attr_name ];
    },
    _binder: binder
   };
 binder.on( uid + ":change", function( evt, attr_name, new_val, initiator ) {
  if ( initiator !== user ) {
   user.set( attr_name, new_val );
  }
 });
  return user;
 }
</script>
</head>
<body>
<input type="text" data-bind-123="name" /><br/>
<input type="button" onclick="GetData();" value="获取数据"></p>
</body>
</html>

Verwandte Empfehlungen:

Teilen Sie das Beispiel-Tutorial für die bidirektionale Bindung von Angular js

Mitteilung über drei Möglichkeiten zur Implementierung der bidirektionalen Datenbindung in JavaScript

Einseitige Bindung von Vuejs, bidirektionale Bindung, Listenrendering, Antwortfunktion

Das obige ist der detaillierte Inhalt vonBeispiele zur Erläuterung, wie jQuery die bidirektionale HTML-Bindungsfunktion implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn