Es war mein Eindruck, dass ich Argumente an eine Funktion übergeben konnte, indem Sie bind
verwenden und dann diese Argumente aufrufen, als ob sie normal übergeben worden wären. Warum muss ich dies tun:Warum scheint bind Argumente als Arrays darzustellen?
$(document).ready(function() {
var func = function(button) {
button[0].on('click', function() {
alert('Hello World.');
})
}
func.bind(null, [$('.button')])();
});
Wenn es scheint, wie sollte ich in der Lage sein, nur dies zu tun:
$(document).ready(function() {
var func = function(button) {
button.on('click', function() {
alert('Hello World.');
})
}
func.bind(null, [$('.button')])();
});
Beispiel, die Behandlung des button
Argument als Array:
$(document).ready(function() {
var func = function(button) {
button[0].on('click', function() {
alert('Hello World.');
})
}
func.bind(null, [$('.button')])();
});
html, body, div {
padding:0;
margin:0;
display:flex;
justify-content:center;
}
.button {
background-color:gray;
margin:50px;
padding:50px;
width:50%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="button">Button</div>
Es behandelt es als ein Array, weil Sie ein Array binden. –